测试方法的最佳实践是什么,它调用具有不同参数类型的相同类的类似方法?
是否应该嘲笑某个实例?等
您有现有的示例或解决方案吗?
我对案例的最佳实践感兴趣,当测试方法更多时, 超过1行并将测试代码复制到测试类是有问题的。
class A {
Map z = //...
public void put(String x, Y y) {
z.put(x, y);
}
public void put(String x, String y) {
put(x, Y.parse(y));
}
}
答案 0 :(得分:3)
合理的方法:
对于后面的方法,仅要测试此方法的作用。在您的示例中,这意味着:确保传入的字符串进入Y.parse()。
我会考虑糟糕的练习,用你应该应用于第一种方法的相同审查来测试你的第二种方法。
你的测试应该关注那些"工作"方法负责。在您的示例中,第一种方法负责一些"真实业务的东西&#34 ;;而第二种方法(表面上)只负责转换参数和调用另一种方法。
含义:当您对第一个方法put(String, Y)
进行5次测试时(测试该方法中的所有不同路径) - 您可能只需要对方法put(String, String)
进行1次测试(这只是检查一些预期的方法) put(String, Y)
中的路径因put(String, String)
正在做的事情而被采用。
TL; DR: