java - EasyMock 和参数化测试(JUnit 参数化)
问题描述
我想在参数化测试类中的类上使用@Mock。但由于某些原因,mockClassB 为 NULL。我的代码类似于
@RunWith(Parameterized.class)
public class ClassATest extends EasyMockSupport {
private String uniqueIdentifier;
private String value;
@Mock
private ClassB mockClassB;
public ClassATest(String uniqueIdentified, String value) {
this.uniqueIdentifier = uniqueIdentified;
this.value = value;
}
...
@Parameterized.Parameters(name = "{index}: id = {0}; value = {1}")
public static Collection<Object[]> data() {
return Arrays.asList(new Object[][]{
{"1", "val1"},
{"2", "val2"}});
}
@Test
public void testMethod() {
...
expect(mockClassB.someMethod(uniqueIdentifier)).andReturn(value); // mockClassB is NULL
replayAll();
....
}
}
是否可以在参数化类中创建模拟对象?
解决方案
尝试添加一个 setUp 方法:
@Before
public void setUp() {
initMocks(this);
}
推荐阅读
- javascript - 每 2 分钟运行一次的 Nodejs 函数会随着时间的推移而丢失
- menu - 如何向 wagtail 添加多级菜单支持(支持基于非 wagtail 的页面)
- jpa - 在 Wildfly 上的 JavaEE 应用程序中设置 CDI 时出错
- php - 从项目外部路由到内部路由时的问题自动转到 index.php
- angular - 角度:替换网址中的段
- python - 为什么 selenium-webdriver (LiveServerTestCase) 仍然指向错误的数据库?
- sql - SQL查找日期差异 - Oracle
- python - 如何获取具有给定标签位置的推文
- gremlin - 如何从遍历中使用的顶点收集值?
- node.js - 使用无会话护照的帐户链接