【发布时间】:2021-05-07 04:28:50
【问题描述】:
假设我有一堂课
public class Foo extends Bar
{
public Response post()
{
return authorize();
}
// override some additional methods from Bar class
}
和另一个班级
public class Bar
{
public Response get()
{
return authorize();
}
public Response post()
{
return authorize();
}
public Response authorize()
{
// let's assume this method is "complicated" and has 200+ lines of code... lots of diff code paths etc
}
}
所以我在考虑单元测试方面的几种不同方法
-
我直接调用
authorize并测试每一个可能的代码路径。然后我为Foo和Bar的get和post方法编写了1 个快乐路径单元测试以确保完整性。 -
我直接调用两个类的
get和post方法,并决定只针对一种方法编写所有组合的测试。 -
我完全忽略了我的
get和post方法,并假设只要我完全测试我的authorize方法我就很好。
我让这件事复杂化了吗?这里的最佳做法是什么。
【问题讨论】:
-
我注意到这个问题已关闭,因为它被认为是“基于意见的”。我认为这是一个问题,询问是否有系统的继承测试技术。有,看答案。我建议重新提出问题(并就此投票)。