JUnit 4为什么我不应该在超类中放置Assert类的静态导入

时间:2013-11-26 15:20:18

标签: java junit4

我正在将应用程序从JUnit 3.x移动到JUnit 4.x.当然,我的数百个测试类现在需要静态导入org.junit.Assert方法,或直接引用每个断言的org.junit.Assert。

这些测试类中的大多数扩展了自定义测试用例包装类(让我们称之为CompanyTestCase),因此我可以这样做

public void assertEquals(final Object expected, final Object actual)
{
    org.junit.Assert.assertEquals(expected, actual);
}

但这看起来有点笨拙,一般对我来说闻起来很糟糕。然而,我肩上的小恶魔认为,这是人们首先创建自定义测试超级课程的一个原因。

帮助我理解解决这个问题的最佳方法 - 我真的不想相信this post就是答案,主要是因为我想相信Java已经足够成熟,不需要更改样板这种类型(DRY等)。

正如@blalasaadri所指出的那样,扩展org.junit.Assert会很好,但是,作为一个Spring / Mule应用程序,测试用例包装器已经扩展了org.springframework.test.context.junit4.AbstractJUnit4SpringContextTests

0 个答案:

没有答案