对于大规模软件的测试,TestNG在很多方面的确优于JUnit 4。在项目开发初期,可能选择JUnit 4进行测试,但是到软件开发到一定阶段后,逐渐发现JUint 4不能满足更高的要求。此时,使用TestNG可以更好地对软件进行测试,那么如何从之前的JUnit 4测试转化为TestNG呢?
将JUnit 4测试转化为TestNG,首先要解决的是方法前面的annotation。虽然TestNG的annotation与JUint 4的annotation大部分在名称和功能上都相同,但是有些还是不同。JUnit 4与TestNG的annotation对比如下图:
上表中只是一些简单annotation的对应关系,TestNG的最大的优势在于其提供的参数化测试,包括从testng.xml文件和@DataProvider两种方式提供参数。JUnit 4提供的参数化测试功能很有限,所以转化为TestNG测试之后,需要根据实际测试需要手动添加一些参数化测试代码。
除了annotation之外,TestNG的断言与JUnit 4在期望结果与实际结果的顺序上也有些区别。好在TestNG的提供AssertJUnit与JUnit 4的顺序是一致的,在转换的时候,只需要import这个class就可以了。
Eclipse的Test