我有一个orchestrator类,它有一个方法通过调用多个方法实现一个功能:
public class Orchestrator {
public void doImportantStuff(){
firstDoThis();
thenDoThis();
finallyDoThis();
}
private void firstDoThis(){
...
}
private void thenDoThis(){
...
}
private void finallyDoThis(){
...
}
}
我的问题是,我有很多案例要测试从doImportantStuff()调用的所有方法,所以我计划为每个方法编写单独的测试类。这是我应该避免的,还是听起来不错?
答案 0 :(得分:0)
这实际上取决于您要编写的测试类型。单元测试假设您单独测试每个方法,但集成测试将测试一体化。
假设这些方法确实包含一些业务逻辑,我建议为每种方法编写一组单元测试(可能将它们移到单独的类中以符合单一责任原则)。
在确定所有方法都正常工作之后,是时候编写集成测试并测试逻辑如何集成(例如特定的调用顺序)。顺便说一句,这里有些嘲讽工具可能很有用,因为你不会再次测试每种方法。