java - 测试NG : @Parameters does not work

标签 java intellij-idea testng

我已经开始学习 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/

相关文章:

java - 使用 ExtentReports 3.2 jar java 为一套测试服中的多个 testng 套装/类/多个套装生成报告

java - Java(JVM)如何为每个线程分配堆栈

java - IntelliJ IDEA 中Java类资源的自动重载

java - 如何将我的所有 Intellij 代码样式导出到 .editorconfig 文件?

selenium - 无法使用 intellij 和 ubuntu 运行 cucumber 场景,实现步骤定义但它们已经实现

selenium - 使用 testNG 在浏览器的多个实例中并行运行一个类中的多个测试

java - 无法通过 TestNG 执行测试用例

java - Linux 和 OSX 以及 Android 根据区域设置的排序不一致

java - 在phonegap android应用程序中使用什么来代替已弃用的 "LegacyContext"类型?

c# - C# 的访问修饰符在 Java 和 Scala 中的等价物是什么?