如何对一个嵌套调用超级类方法的方法进行单元测试?

问题描述 投票:0回答:1

我在我的项目中使用了Java 8、JUNIT和Mockito,但我还在学习单元测试的艺术,所以需要你的帮助。

在我的方案中--> class B extends Class A

CLass B包含一个公共方法 mOfB()

类A包含一个方法 mOfA()

我想把我的方法JUnit化 mOfB().

mOfB() 包含对 mOfA(). 而且 mOfA() 返回一个 List<Employee>

Employee 是一个具有少数属性的原始数据类型的对象,并且是一个具有 Map<Depts, CostCentre>

在这里我应该如何对待JUnit测试?

java junit
1个回答
0
投票

声明:就像@Chris在他的评论中提到的那样,如果你组成的B类包含对A类的引用,那是最好的。

说到这里,有一个技巧你可以做的是将你自己的代码提取到B类中的一个不同的方法中,然后代替它进行测试。把这个

class B {
    @Override 
    String methodInheritedFromA() {
        return "ABC" + super.methodInheritedFromA();
    }
}

改成that:

class B {
    @Override 
    String methodInheritedFromA() {
        return classBFunctionality() + super.methodInheritedFromA();
    }

    String classBFunctionality() {
        return "ABC";
    }
}

然后测试 classBFunctionality 方法而不是 methodInheritedFromA.

© www.soinside.com 2019 - 2024. All rights reserved.