![]() |
1
1
如果您不能对一个方法/类进行单元测试,那么它很可能意味着它做的太多了。尝试将私有方法提取到单独的类中。它不需要是公共的-例如,您可以将它的包放在同一个包中的本地包中。 稍后,在测试中,您将不得不注入这个类的模拟并模拟它的行为。 myClass在其单元测试中的设置可能类似于:
其中,其他类将具有方法getUserListByLogin和getUserByLogin。
编辑:
似乎私有方法中的逻辑已经调用了外部类。问题是,通过调用静态对象来获取对象的实例
您可以这样做:
看起来更不像这样:
|
![]() |
2
1
仅通过调用公共方法测试单元。我认为您的示例是服务层中的一个类(包含业务逻辑)和两个getuser…方法应该在不同的类(我认为在数据层中)中,它们可以是公共的。通过构造函数将该类作为依赖项(在服务对象中)注入,以便在测试服务类时模拟它。数据层类(使用getuser…方法)也可以通过自己的单元测试进行测试。 |
![]() |
QuestToLearn · 如何模拟对从受保护资源继承的接口的调用 7 年前 |
![]() |
JCalcines · PowerMockito与CORBA冲突 7 年前 |
![]() |
Reddevil · 使用PowerMockito模拟接口 8 年前 |