org.jmock.integration.junit4.package.html Maven / Gradle / Ivy
Integrates jMock with JUnit 4.
To write a mock object test in JUnit 4, declare a field of type Mockery
that holds a JUnit4Mockery and annotate your test class with
@RunWith(JMock.class)
, as shown below. The Mockery will
be verified after the test has run and before the fixture is torn down.
import org.jmock.Expectations;
import org.jmock.Mockery;
import org.jmock.integration.junit4.JMock;
import org.jmock.integration.junit4.JUnit4Mockery;
import org.junit.Test;
import org.junit.runner.RunWith;
...
@RunWith(JMock.class)
public class ExampleJUnit4MockObjectTest {
Mockery context = new JUnit4Mockery();
...
@Test public void
dispatchesEventToSessionsOtherThanThenSender() {
...
context.checking(new Expectations() {{
...
}});
...
}
}
Alternatively, from JUnit 4.7, you can use JMockContext
which
implements a JUnit Rule
to manage expectations and allowances, and to
assert the expectations after each test has run.
public class ATestWithSatisfiedExpectations {
@Rule public final JMockContext context = new JMockContext();
private final Runnable runnable = context.mock(Runnable.class);
@Test
public void doesSatisfyExpectations() {
context.checking(new Expectations() {{
oneOf (runnable).run();
}});
runnable.run();
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy