现在有这样一个需求,testNG 里的数据需要临时生成,但是测试过程发现 testNG 是将 DataProvider 里的数据一次性全部加载,然后对每一条用例再依次执行
比如
@DataProvider(name = "dataList")
public static Object[][] data(){
return new Object[][]{

{"caseA", "param1", "param2", param3"", "XX"}
{"caseB", "param1", "param2", param3"", "XX"}
{"caseC", "param1", "param2", param3"", "XX"}
}

其中 XX 为动态参数,需要保证时效性,需要临时调函数生成,但不是每条用例都需要 XX,所以不好再@Test方法里去调用,最好在数据源里写。
但是 testNG 貌似是一次性将 data 全部加载,这样用例很多的时候,后面的用例拿到的 XX 参数已经失效了

请问:
有没有什么比较好的解决方案呢,附:数据源没有规律,不能用 iterator 生成。


↙↙↙阅读原文可查看相关链接,并与作者交流