有一堂课。
class A {
public String getValue(String key) {
return key;
}
}
是否可以编写这样一个测试来测试该方法getValue()
返回一个键作为值。
有我的尝试:
A aMock = mock(A.class);
when(aMock.getValue("key")).thenReturn("key");
这很好,但这仅适用于一个特定的参数值。但是我可能需要某种规则,例如"for each parameter it would return the parameter itself whatever value this parameter would have"
更多上下文,我实际上要测试的内容:
假设我们有一个包含key=value
条目的文件,例如资源包。如果找不到值,该方法将返回键。例如,如果我们按“user.name”搜索,如果定义了“Bob”,我们将得到它。如果不是 - 它会返回 key (user.name) itsef,因为我不希望这个方法返回 me null
。
(这实际上是一个模型org.springframework.context.MessageSource.getMessage
- 它的行为方式相似)
所以..更新
public String getValue(String key) {
// some code ...might be here, but we care about a result
if (valueWasFound) {
return theValue;
}
return key;
}