【发布时间】:2013-09-02 10:18:36
【问题描述】:
我正在为我的项目使用 Testng 6.8.5 和 Jmockit 1.4。我想将 testng @DataProvider 与 Jmockit @Mocked 注释与测试参数级别一起使用。
@Test
public void testRemove(@Mocked Creator) throws Exception {
//Test Code
}
我想对不同的数据集使用上述测试(使用@DataProvider),但是当我将方法签名更改为:
public void testRemove(@Mocked Creator creator, int id, String name)
其中id 和name 由DataProvider 提供,TestNG 失败说DataProvider 只提供两个参数,而不是三个。
有谁知道如何做到这一点?
【问题讨论】:
-
应该没问题 - 你遇到了什么问题?
-
问题是使用带有@DataProvider 参数的@Mocked 注释。例如
public void testRemove(@Mocked Creator creator, int id, String name){。这里 id 和 name 来自 dataproider。对于这个 Testng 失败的测试,指定 @DataProvider 没有给出 3 个参数,这是真的。 -
我明白了 - 我想你可以在方法中模拟创建者,例如在期望块中。