我想为特殊类型的集成测试编写通用测试类。泛型类必须在子类中的所有测试之前设置服务器,并在所有测试之后拆除。每个子类必须提供一个字符串参数来设置服务器。
我的问题是找到一个好的设计。由于@ Before / AfterClass是静态的,因此给定参数必须是静态的。在子类的构造函数中设置参数为时已晚。
我还考虑过创建一个自定义测试运行器和一个自定义注释来设置参数 - 但现在可能太多了?!
修改:
由于设置类型的原因,每个测试类只调用一次设置和拆卸 - 而不是每次测试。
我的堆栈是Camel + Guice(独立应用程序)
答案 0 :(得分:1)
听起来你想使用Rule,特别是ExternalResources个。{/ p>
通过使用ClassRule和运行器,您应该能够实例化普通对象并避免使用静态方法,但是让子类实例化自己的/自定义规则以根据需要设置服务器。