我有一个服务ServiceA
,它调用ServiceB
方法,该方法只返回布尔值。在ServiceA
中,我们只将此值传递给其他服务,没有基于此的条件。编写一个单元测试来验证是否调用了此服务是否有意义?
class ServiceA {
public void foo() {
boolean value = serviceB.shouldVerify(value);
// other code that uses this value
}
}
来自ServiceB
的方法shouldVerify
已经包含在单元测试中。
2条答案
按热度按时间63lcw9qa1#
你应该在serviceB测试中测试你的方法,因为逻辑是在那里完成的。ServiceA不知道这个方法在做什么,所以不可能测试。你应该在serviceA中为这个方法返回的三种情况(真、假和异常)编写测试。
pengsaosao2#
由于您的代码在
ServiceA#foo
中使用了该值,因此至少有2个分支:一个用于true
,另一个用于false
。如果在ServiceA#foofoo
中有这些分支,那么应该用单元测试覆盖它们。