我需要一个方法,在测试期间调用时返回一些什么都不做,拥有该方法的类实例作为间谍实现.
我知道doNothing()方法只适用于void方法.有没有办法通过返回某些东西的方法获得相同的行为?
谢谢!
我正在尝试将使用 JMockit 的测试套件转换为使用 Mockito 和 powermock。
在测试设置中有以下代码片段:
new MockUp<Controller>() {
@Mock
public boolean sendMessage(final String string1, final String string2) {
queue.add(string1);
return true;
}
};
Run Code Online (Sandbox Code Playgroud)
我猜这意味着只要在测试期间调用该方法,就使用这个模拟实现。这样对吗?
在 Mockito 或 Powermock 中是否也有相当于 MockUp 的东西?
谢谢!
我是Spring的新手,对JUnit和Mockito只有一点经验
我有以下方法需要单元测试
public static String getUserNames(final String userName {
List<String> results = new LinkedList<String>();
results = service.getJdbcTemplate().query("SELECT USERNAME FROM USERNAMES WHERE NAME = ?", new RowMapper<String>() {
@Override
public String mapRow(ResultSet rs, int rowNum) throws SQLException {
return new String(rs.getString("USERNAME");
}
}
return results.get(0);
},userName)
Run Code Online (Sandbox Code Playgroud)
有没有人对如何使用JUnit和Mockito实现这一点有任何建议?
非常感谢你提前!
我需要使用mockito和powermock来模拟一个不使用参数的私有void方法.
该方法属于间谍的实例.
我知道我需要这样做的事实表明代码不好但我正在使用一个旧项目将单元测试从一个测试框架转换到另一个测试框架.
如果有人有任何建议,将不胜感激.
谢谢!
到目前为止,我试过这个:
PowerMockito.doNothing().when(Whitebox.invokeMethod(spy,"method",null));
Run Code Online (Sandbox Code Playgroud)
但我得到这个错误:
No method found with name 'method' with parameter types: [ <none> ]
Run Code Online (Sandbox Code Playgroud)