首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >TestNG -如何在每个并行运行的类中的所有测试之前运行一次安装程序

TestNG -如何在每个并行运行的类中的所有测试之前运行一次安装程序
EN

Stack Overflow用户
提问于 2019-05-05 10:14:49
回答 1查看 192关注 0票数 0

我正在尝试查看是否可以为每个实例化的并行类运行一次安装程序。

如果我有以下测试类,由于DataFactory (CSV有2行数据,每个测试一行),两个测试并行启动

是否可以让testSetup()为TestFu类的每个实例运行一次。BeforeClass似乎会在两个并行测试实例之前运行它一次。

TestXML

<suite name="SomeTest" parallel="none" thread-count="20" verbose="2">
    <test name="Graph+APITests" parallel="instances" thread-count="5">
        <classes>
            <class name="TestFu" />
        </classes>
    </test>
</suite>

测试类

public class TestFu {

    String var1;

    @Factory(dataProvider = "testStuff")
    public TestFu(String var1, String var2) {
        this.var1 = var1;
        this.var2 = var2;
    }

    @DataProvider(name = "testStuff")
    public static Object[][] stuff() {

        return methodThatLoadsVarsFromCSV;
    }

    @BeforeClass
    public void testSetup() {
        System.out.println("Doing setup");
    }

    @Test
    public void testOne() {
        System.out.println("Test 1 " + this.var1);
    }

    @Test
    public void testTwo() {
        System.out.println("Test 2 " + this.var2);
    }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-05-31 05:40:39

像这样使用static标志:

    static boolean initialized = false;

    @BeforeClass
    public void testSetup() {
        if (!initialized) {
            initialized = true;
            System.out.println("Doing setup");
        }
    }
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55988302

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档