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