junit 测试其他服务呼叫是否有意义?

myss37ts  于 2023-02-23  发布在  其他
关注(0)|答案(2)|浏览(168)

我有一个服务ServiceA,它调用ServiceB方法,该方法只返回布尔值。在ServiceA中,我们只将此值传递给其他服务,没有基于此的条件。编写一个单元测试来验证是否调用了此服务是否有意义?

class ServiceA {
    
    public void foo() {
        boolean value = serviceB.shouldVerify(value);
        // other code that uses this value
    }
}

来自ServiceB的方法shouldVerify已经包含在单元测试中。

63lcw9qa

63lcw9qa1#

你应该在serviceB测试中测试你的方法,因为逻辑是在那里完成的。ServiceA不知道这个方法在做什么,所以不可能测试。你应该在serviceA中为这个方法返回的三种情况(真、假和异常)编写测试。

pengsaosao

pengsaosao2#

由于您的代码在ServiceA#foo中使用了该值,因此至少有2个分支:一个用于true,另一个用于false。如果在ServiceA#foofoo中有这些分支,那么应该用单元测试覆盖它们。

相关问题