Java 将测试套件应用于接口的实现
我有一个接口,有几个实现。 我正在为接口设置一个测试套件。现在我想为每个具体的实现者运行套件中的所有测试类 为了澄清,我有一个类似的设置Java 将测试套件应用于接口的实现,java,interface,junit,Java,Interface,Junit,我有一个接口,有几个实现。 我正在为接口设置一个测试套件。现在我想为每个具体的实现者运行套件中的所有测试类 为了澄清,我有一个类似的设置 TestSpam.java TestEgg.java TestBacon.java 这些都在测试我界面的不同方面,我将把它们组织在一个名为say TestBreakfast的套件中。我希望所有不同的测试都以某种方式针对特定的实现运行,最好是一次,然后在套件中运行 在测试用例级别,我想我可以使用parametrise来运行所有的实现,但看起来并没有扩展到套件
- TestSpam.java
- TestEgg.java
- TestBacon.java
有什么办法可以让这一切顺利进行吗?在这种情况下,我反复尝试以下模式:
- 创建一个测试接口预期功能的抽象类。
- 此类应声明一个抽象工厂方法,该方法返回接口的实例
- 所有测试都应该使用工厂方法返回的实例
- 创建一个或多个扩展此抽象类的类(每个实现一个)。
- 通过返回适当的具体类来实现工厂方法
- 使用这个具体的测试类还可以测试特定于实现的功能
TestSuite
实例的父级TestSuite
。您是想完全通过反射找到实现,还是想为您的TestSuite
的构造函数提供类名/类实例的列表?如果我不清楚,很抱歉,更新了原始问题并进行了澄清。所以不,这不是我真正想要的。反射与否并不重要,但我假设传递一个实例easier@keis当前位置很抱歉,我脑子里有一篇关于这件事的帖子,但我还没来得及把它说出来。今晚有空的时候我可能会设法把它弄进去。不用担心。谢谢你的时间,非常感谢