我所有的单元测试都具有相同的带有 Spring 注释的标头:
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = { "classpath:spring/spring-master.xml"})
@TransactionConfiguration(transactionManager = "transactionManager", defaultRollback = false)
@Transactional()
我将它们移至基类,现在我的所有测试都对其进行了扩展:
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = { "classpath:spring/spring-master.xml"})
@TransactionConfiguration(transactionManager = "transactionManager", defaultRollback = false)
@Transactional()
public class DomainObjectBaseTest {
...
public class SomeTest extends DomainObjectBaseTest {
现在,当我运行所有测试时,我正在为 DomainObjectBaseTest 获取:
java.lang.Exception: No runnable methods
我的问题是如何避免它?我可以删除@RunWith
,但在这种情况下,我必须将注释应用于所有其他测试。代码太多,不喜欢。
可能,作为替代方案,我可以以某种方式在 Spring 组注释中,命名它,并从我的测试中引用该组,请告诉我是否可能。在这种情况下,我将完全删除基类。
并且可能有一种方法可以告诉这个类不应该被测试。我正在使用 JUnit4。