0
我目前有一个测试套件,它以前在TestNG 6.9.10和JMockit 1.30上运行过。将其更新到TestNG 6.11和JMockit 1.35时,我在我的测试参数中遇到了所有我的@Mocked和@Interface注释中的错误。错误在于我的期望不再嘲笑模拟实例中方法的结果。参数模拟不能按照预期在JMockit中工作1.33+
复制此问题的最小类如下所示。内容是这两个测试应该以相同的方式工作,但在更新版本的JMockit @Injectable pSet返回0作为大小而不是10。
这是我的用户错误,还是它是一个错误引入更新JMockit的版本?
import java.util.Set;
import mockit.Expectations;
import mockit.Injectable;
import org.testng.annotations.Test;
import static org.testng.Assert.assertEquals;
@Test
public class MinimalJMockitExample {
@Injectable Set<String> mSet;
@Test
public void test1(){
new Expectations() {{
mSet.size();
result = 10;
}};
assertEquals(mSet.size(), 10);
}
@Test
public void test2(@Injectable Set<String> pSet){
new Expectations() {{
pSet.size();
result = 10;
}};
assertEquals(pSet.size(), 10);
}
}
试过Jmockit所有者联系?他正在定期检查 - 但为什么等他过来,而不是直接接触? – GhostCat
可能是答案:https://github.com/jmockit/jmockit1/issues/464 – juherr