【发布时间】:2020-04-01 11:42:14
【问题描述】:
我正在开发单元测试。 如果我在运行模式下开始测试,运行失败并显示消息:
如果匹配器与原始值组合,则可能会发生此异常: //不正确: someMethod(anyObject(), "原始字符串"); 使用匹配器时,所有参数都必须由匹配器提供。 例如: //正确的: someMethod(anyObject(), eq("匹配器的字符串")); 有关更多信息,请参阅 Matchers 类的 javadoc。如果我在调试模式下使用 String tableName = table.getTableName() 上的断点运行测试,则测试顺利通过。停止发生在断点处。
@Test
void myTest() {
Table table = mock(Table.class);
when(table.getTableName()).thenReturn("mytableName")
SQLService service = new SQLService(table);
service.select();
}
class SQLService {
private final Table table;
SQLService(Table table) {
this.table = table;
}
void select() {
String tableName = table.getTableName(); // <---- issue here, breakpoint is set on this line
........
}
}
【问题讨论】:
-
我使用
org.mockito.Mockito效果很好