我已经开始学习 TestNG,但这段代码对我不起作用:
package com.automation;
import org.testng.annotations.Parameters;
import org.testng.annotations.Test;
public class TestNg_ParameterTestClass {
@Parameters({"Param1","Param2"})
@Test(enabled = true)
public void testTestExample(String p1, String p2){
System.out.println("Parameter's value : " + p1 + ", " + p2);
}
}
testng.xml 是空的,因为我直接从 IntelliJ 运行测试方法,每次收到此消息时:
Test ignored.
Test ignored.
===============================================
Default Suite
Total tests run: 1, Failures: 0, Skips: 1
===============================================
你知道哪里出了问题吗,为什么 testNG 会跳过它?
感谢帮助, 拉法尔
最佳答案
这个问题的答案相当简单。
@Parameters({"Param1","Param2"}) ,Param1 和Param2 是testng.xml 中的参数名称,它们不是运行时分配给String p1、String p2 的值。
必须定义两个 XML 参数,否则测试将被忽略。您可以使用“可选”注释定义自动分配给 p1 和 p2 的可选值:
@Parameters({"param1","param2"})
@Test(enabled = true)
public void testTestExample(@Optional("test1111") String p1, @Optional("test2222")String p2){
System.out.println("Parameter's value : " + p1 + ", " + p2);
}
关于java - 测试NG : @Parameters does not work,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36312442/