小编Mat*_*att的帖子

如何使用Ant在JUnit3测试类上运行自定义JUnit4 Runner?

我们有基于Spring 2.0.8的AbstractTransactionalDataSourceSpringContextTests构建的测试类.这些都有很多,所有这些都是用JUnit3风格编写的.

为了使用JUnit 4过滤,我们编写了一个替换JUnit38Runner,它允许我们将这些测试与特定的应用程序环境相匹配,并相应地过滤掉它们.

通过在我们的自定义JUnit38Runner上使用@RunWith注释,整个测试套件在Ant之外运行良好.

但是,当我们尝试在Ant中运行时,它会强制单个测试以junit.framework.TestSuite运行或包装在JUnit4TestAdapter中,两者都忽略JUnit4下的@RunWith注释.更糟糕的是,我们现有的套件被Ant显式覆盖,它直接调用suite()方法,而不是委托给JUnit.

我试图从Ant JUnitTestRunner扩展,并简单地覆盖run()方法,但是该类不是为扩展而编写的.

除了复制整个JUnitTestRunner并对其进行攻击(这将使我们解决脆弱的代码问题),有没有人对解决这个问题的其他方法有什么好运?

ant junit junit4

8
推荐指数
1
解决办法
1353
查看次数

标签 统计

ant ×1

junit ×1

junit4 ×1