我必须为具有多个抽象类和方法的应用程序开发 JUnit 测试用例。是否可以为抽象类创建 JUnit 测试用例而不被另一个类扩展?如果子类扩展了抽象类,那么测试子类就足够了吗?如何为抽象类的非抽象方法创建测试用例?
问问题
8593 次
4 回答
4
由于您无法创建抽象类的实例,因此必须使用派生类对其进行测试。您可以创建一个非常简单的类来扩展抽象类以进行测试。测试时确保子类用于测试抽象类中需要测试的所有方法。
于 2013-05-21T09:44:50.163 回答
1
这是我将如何处理这个...
- 在测试中创建一个方法,该方法返回调用的类
protected
的实例abstract
getInstance()
- 使用上述链接中建议的解决方案来实现这一点(类的测试实现、模拟或一些默认实例)
getInstance()
从您的setup
/方法调用该方法@Before
以填充将用于测试的字段
然后,这种方法将允许您在测试扩展抽象类的类时重用这组测试。为此,您可以让具体类的测试扩展抽象类的测试并覆盖该getInstance
方法以返回具体类的实例。
于 2013-05-21T10:57:00.023 回答
0
你可以像 Kevin Bowersox 所说的那样做,或者你也可以使用一些模拟框架。
于 2013-05-21T09:49:58.350 回答
0
在抽象方法中使用您想要的任何实现的匿名类。
于 2013-05-21T09:52:12.790 回答