【发布时间】:2015-11-05 09:35:09
【问题描述】:
- @DataProvider 和@Parameters 有什么区别?
- 什么时候应该使用@DataProvider,什么时候应该使用@Parameters?
【问题讨论】:
-
如果有 Dataprovider 则无法得到参数 :)
-
上述关闭原因不适用。
标签: java unit-testing testng
【问题讨论】:
标签: java unit-testing testng
使用@Parameters,您提供的参数值将硬编码在测试配置文件testng.xml 中。此外,据我所知,没有办法用不同的参数值来指定相同测试的执行。您为每个参数提供一个值,仅此而已。
使用@DataProvider,您提供了一个生成参数值的方法。它们不需要在任何地方进行硬编码:您可以即时计算它们。例如,您可以从网站获取当前温度并将结果值用作参数值。或者您可以从 CSV 文件中读取它们。
此外,您可以为参数提供多组值。这样,您可以使用每种所需的参数值组合多次运行相同的测试。
【讨论】: