在TestNG测试之间传递值

时间:2016-05-30 17:41:51

标签: java testing testng

背景:我正在使用TestNG执行测试,我有一个用@Test注释的类,如果你愿意,它会生成一个数字或ID,并且相同的数字是我第二次测试的输入值。是否可以在TestNG测试之间传递值?

3 个答案:

答案 0 :(得分:0)

您应该创建一个处理整个案例的测试。测试不能相互依赖,它被认为是不好的做法。如果您使用maven测试顺序,则执行在不同环境中可能会有所不同。

答案 1 :(得分:0)

不好或不做,可以通过简单地使用类字段来完成。只需确保您的案例以可预测的顺序执行(例如,使用@Test(priority)或dependsOn TestNG功能)。

答案 2 :(得分:0)

不确定。例如,如果您有两个相关的测试,则可以通过测试上下文属性将值从一个测试传递到另一个测试:

@Test
public void test1(ITestContext context) { //Will be injected by testNG
    /* Do the test here */
    context.setAttribute("myOwnAttribute", "someTestResult");
}

@Test(dependsOnMethods = "test1")
public void test2(ITestContext context) { //Will be injected by testNG
    String prevResult = (String) context.getAttribute("myOwnAttribute");
}