Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/348.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在TestNG中将@Parameters与ITestContext一起使用?_Java_Unit Testing_Testng - Fatal编程技术网

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

Java 如何在TestNG中将@Parameters与ITestContext一起使用?,java,unit-testing,testng,Java,Unit Testing,Testng,我目前正在用TestNG编写一个测试。目前我有以下方法: @Parameters({"clickRememberMe"}) @Test public void runTest(String clickRememberMe) { } 现在我发现一个名为org.TestNG.ITestContext的TestNG类可以用来在测试之间共享数据,我想使用它。显示它的教程告诉我要这样做: @Test public void runTest(ITestContext itc){ } 这也行得通。但是,现

我目前正在用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一起使用

我已经找到了解决办法。而不是:

@Parameters({"clickRememberMe"})
@Test
public void runTest(ITestContext itc, String clickRememberMe) {
}
我必须将ITestContext放在参数之后,如下所示:

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