【发布时间】:2018-10-24 14:50:39
【问题描述】:
让我们想象有一个类(用类似 Java 的伪代码编写):
class MyClass {
...
public List<Element> getElementsThatContains(String str) {
return this.getElementsThatContains(new Set<String> { str });
}
public List<Element> getElementsThatContains(Set<String> strs) {
...
}
}
首先 - 我有 getElementsThatContains(Set<String> strs) 正确 100% 覆盖。
我应该如何覆盖getElementsThatContains(String str):
- 我是否应该复制(几乎)所有测试,但要调用
getElementsThatContains(String str)? - 我应该只做一个测试吗 检查第一种方法和第二种方法的结果是否相同的方法 (具有相同的传入数据)?
- 我是否应该重构我的代码以使我没有 这样的情况? (如果是,怎么做?)
【问题讨论】:
-
我只会为 getElementsThatContains(String str) 写,这也将涵盖下一次调用
-
@YogenRai,集合的输入有特定的逻辑。您建议通过调用方法#1 来测试所有“独立于设置”的登录,并通过调用方法#2 来测试所有“依赖于设置”的登录?我可以看到阅读我的代码的人会感到困惑。
-
如果第二种方法有输入特定逻辑,那么您可以为两种输入场景编写..
标签: java unit-testing testing