如何在TestNG中将@Parameters与ITestContext一起使用?

时间:2018-03-12 09:46:14

标签: java unit-testing testng

我目前正在TestNG上编写测试。目前我有以下方法:

@Parameters({"clickRememberMe"})
@Test
public void runTest(String clickRememberMe) {
}

现在我发现名为org.testng.ITestContext的TestNG类可用于在我想要使用的测试之间共享数据。显示它的教程告诉我这样做:

@Test
public void runTest(ITestContext itc){
}

这也有效。但是,现在我想将参数一起使用ITestContext,如下所示:

@Parameters({"clickRememberMe"})
@Test
public void runTest(ITestContext itc, String clickRememberMe) {
}

可悲的是,这引发了以下异常:

java.lang.IllegalArgumentException: argument type mismatch

有没有办法在TestNG中将@Parameters与ITestContext一起使用?

1 个答案:

答案 0 :(得分:0)

我已经找到了解决方案。而不是:

@Parameters({"clickRememberMe"})
@Test
public void runTest(ITestContext itc, String clickRememberMe) {
}

我必须在参数之后放置ITestContext,如下所示:

@Parameters({"clickRememberMe"})
@Test
public void runTest(String clickRememberMe, ITestContext itc) {
}