Testng-每个测试方法可以输入一个数据提供程序吗?

时间:2019-01-08 19:34:27

标签: testng testng-dataprovider

我了解到testng数据提供程序旨在为测试方法提供多个输入/输入数组。但是,每个测试方法只能输入一个输入吗?那是反模式吗?

1 个答案:

答案 0 :(得分:1)

在使用@DataProvider的情况下,TestNG对于最少需要多少数据输入没有任何建议。

但这是用户遵循的一般约定。

如果事先知道将仅使用一组参数值来运行@Test方法,则应尝试使用@Parameters批注,该批注通过以下方式从套件xml文件接收输入: <parameters>标签。

如果事先知道@Test方法将需要使用多个参数值来运行,那么您应该使用@DataProvider

如果事先不知道参数值是一个还是多个,则可以使用@DataProvider

@DataProvider优于@Parameters的优点是,@DataProvider驱动的@Test方法不必通过套件xml强制驱动。您也可以将它们作为单独的测试来运行。

但是,当@Test方法通过@Parameters批注接收值时,则仅需要通过套件xml来运行它(当然,您可以通过使用TestNG侦听器注入参数来规避该问题) ,但这不是解决方案,而是解决方法)