为抽象java类制作JUnit测试用例?
我必须为有几个抽象类和方法的应用程序开发JUnit测试用例。是否可以为抽象类创建JUnit测试用例而不被其他类扩展?为抽象java类制作JUnit测试用例?,java,testing,junit,abstract-class,subclass,Java,Testing,Junit,Abstract Class,Subclass,我必须为有几个抽象类和方法的应用程序开发JUnit测试用例。是否可以为抽象类创建JUnit测试用例而不被其他类扩展? 如果一个子类扩展了一个抽象类,那么测试该子类就足够了吗?如何为抽象类的非抽象方法创建测试用例 由于无法创建抽象类的实例,因此必须使用派生类对其进行测试。您可以创建一个非常简单的类来扩展抽象类以进行测试。测试时,请确保使用子类测试所有需要在抽象类中测试的方法。您可以按照Kevin Bowersox所说的做,也可以使用一些模拟框架 例如:在抽象方法中使用匿名类和您想要的任何实现。下面
如果一个子类扩展了一个抽象类,那么测试该子类就足够了吗?如何为抽象类的非抽象方法创建测试用例 由于无法创建抽象类的实例,因此必须使用派生类对其进行测试。您可以创建一个非常简单的类来扩展抽象类以进行测试。测试时,请确保使用子类测试所有需要在抽象类中测试的方法。您可以按照Kevin Bowersox所说的做,也可以使用一些模拟框架
例如:在抽象方法中使用匿名类和您想要的任何实现。下面是我将如何处理这个问题的
- 在测试中创建一个
方法,该方法返回名为protected
getInstance()
- 使用上述链接中建议的解决方案(测试类、模拟或某些默认实例的实现)实现此功能
- 从
/设置
方法调用@Before
方法来填充将用于测试的字段getInstance()
然后,这种方法将允许您在测试扩展抽象类的类时重用这组测试。通过让具体类的测试扩展抽象类的测试,并重写
getInstance
方法以返回具体类的实例来实现这一点。是否要为抽象类的非抽象方法创建测试用例?请看这个问题,我希望它能帮助您