TestNG - 可用于单类/方法执行的Test / Suite范围变量

时间:2014-06-12 01:52:48

标签: java unit-testing testng functional-testing

我正在尝试允许通过testng.xml套件范围或测试范围指定的参数可供单次测试执行。 e.g。

在testng.xml中

<suite name="All">
    <test name="test1">
        <parameter name="test-wide-param" value="sharedvalue"/>
        <packages>
            <package name=".*">
                <include name=".*" />
            </package>
        </packages>
    </test>
</suite>

在测试课程中:

@Parameter("test-wide-param")
@BeforeTest
public void globalSetUp(String sharedInfo){
    value = sharedInfo;
}

@Test
public void test(){
    //use value
}

当我执行整个测试套件时它非常有效,但是当我尝试运行单个测试类/方法时失败了。实现这个的正确方法是什么?谢谢。

1 个答案:

答案 0 :(得分:1)

你的问题没有意义。执行单个测试类或方法时,您没有使用XML配置。 Eclipse正在动态生成套件。如果你想使用类似的东西,我会建议一个java属性文件。如果你使用spring或maven,两者都对属性文件有很好的支持。如果你不是,有很多方法可以自己轻松地实现它。