如果要测试的类是抽象的,如何模拟测试对象?你不能从中实例化吗?
答案 0 :(得分:3)
答案 1 :(得分:2)
如果你想测试抽象类的常见实现,那么你应该在测试子系统中创建一个虚拟的具体实现,然后单元测试该类的常用方法。
另一方面,如果你需要传递对抽象类的引用,那么,正如Bozho所建议的那样,你应该使用一个模拟框架。我最喜欢的是JMock。
答案 2 :(得分:1)
正如Paddy所提到的,你真的想测试一个具体的课程。
但是,如果要测试抽象类提供的功能,执行此操作的常用方法是使用abstract
方法创建TestCase
abstract
以提供具体类然后测试AbstractWhateverTestCase
中的常用功能。