我正在将应用程序从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
。