【发布时间】:2016-03-17 08:35:11
【问题描述】:
我在测试用例中编写的 Expectations 块有问题:
new Expectations() {
{
mFindHandlerMock.findAll((Model) any, (Set<Id>) any, false);
if (!pWithRealData) {
result = Collections.emptySet();
} else {
result = pAllData;
}
times = 1;
Deencapsulation.invoke(mDb, "readSqlQuery", withAny(String.class));
result = "select * from realdata";
times = 1;
}
};
测试用例崩溃:
java.lang.IllegalArgumentException: Invalid conditional statement inside expectation block
就在这里:
if (!pWithRealData) {
这只是一个简单的boolean,在这种情况下就是false。
我完全不知道为什么会发生exception。
我已经用谷歌搜索过,但没有发现任何有用的东西。
你能帮帮我吗?
【问题讨论】:
-
你能说明你如何以及在哪里声明和初始化
pWithRealData吗? -
这是一个简单的布尔值。它只能是 0 或 1,false 或 true 没有初始化。如果我不通过布尔值,我会得到编译错误。我通过假...
-
你为什么要多放一个
{打开和关闭}花括号??有什么需要吗???它是匿名初始化程序块还是用于任何其他目的?? -
大括号是必要的。如果没有大括号,我会得到“令牌上的语法错误,应改为 AnnotationName”
标签: java junit jmockit illegalargumentexception expectations