Class JUnitRuleMockery

All Implemented Interfaces:
org.hamcrest.SelfDescribing, org.junit.rules.MethodRule

public class JUnitRuleMockery extends JUnit4Mockery implements org.junit.rules.MethodRule
A JUnitRuleMockery is a JUnit Rule that manages JMock expectations and allowances, and asserts that expectations have been met after each test has finished. To use it, add a field to the test class (note that you don't have to specify @RunWith(JMock.class) any more). For example,
public class ATestWithSatisfiedExpectations {
  @Rule public final JUnitRuleMockery context = new JUnitRuleMockery();
  private final Runnable runnable = context.mock(Runnable.class);
     
  @Test
  public void doesSatisfyExpectations() {
    context.checking(new Expectations() {{
      oneOf (runnable).run();
    }});
          
    runnable.run();
  }
}
Note that the Rule field must be declared public and as a JUnitRuleMockery (not a Mockery) for JUnit to recognise it, as it's checked statically.
  • Field Details

    • mockomatic

      private final Mockomatic mockomatic
  • Constructor Details

    • JUnitRuleMockery

      public JUnitRuleMockery()
  • Method Details

    • apply

      public org.junit.runners.model.Statement apply(org.junit.runners.model.Statement base, org.junit.runners.model.FrameworkMethod method, Object target)
      Specified by:
      apply in interface org.junit.rules.MethodRule