我在 JUnit/JMock 中遇到了某个错误。我试图模拟几个对象,然后断言所有期望都得到满足。我正在运行一个简单的测试,例如:
@Test
public void sellingPutOptionProductDoesNotCauseDisclosure() throws PositionVerificationException, DataLoadException, MissingPriceException {
final OptionProduct optionProduct = setupOptionProduct();
context.assertIsSatisfied();
}
private OptionProduct setupOptionProduct() {
final Option optionProduct = context.mock(Option.class);
context.checking(new Expectations() {
{
oneOf(optionProduct).getUnderlyingProduct();
will(returnValue(new Object()));
}
});
return optionProduct;
}
Option 是一个对象,我正在像这样使用 Mockery:
context = new Mockery() {
{
setImposteriser(ClassImposteriser.INSTANCE);
}
};
如果我运行上述测试,我正在测试通过,JVM 不会终止并且控制台中的最后一个打印输出是:
线程“主”中的异常
任何想法可能导致这种情况?