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 Detail

    • Constructor Detail

      • JUnitRuleMockery

        public JUnitRuleMockery()
    • Method Detail

      • apply

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