我正在遇到JUnit/JMock中的某個錯誤。我試圖嘲笑一些對象,然後斷言所有的期望都滿足。我運行一個簡單的測試,如:JUnit - 斷言錯誤不會傳播
@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;
}
期權是一個對象,我用嘲笑這樣的:
context = new Mockery() {
{
setImposteriser(ClassImposteriser.INSTANCE);
}
};
如果我運行上面的測試,我gettiing測試通過,其中JVM不會終止,並在控制檯上一個打印出來的是:
異常線程「main」
任何想法可能是造成這個?
自從我使用JMock以來已經有一段時間了,但我沒有看到這個應該失敗的地方。你正在嘲笑,然後驗證,而不與模擬交互。 – cjstehno
Stacktrace?使用你的調試器,看看你是否達到你的測試功能。 –
它擊中它,它得到assertIsSatisfied,這引發assertionError被吞噬 – Bober02