所有测试均以编程方式运行testNg时会跳过

问题描述 投票:0回答:1

虽然我尝试以编程方式运行testNg,但所有测试都已跳过,并且由于配置失败而出现错误。下面是我使用的代码。我认为这些类在一个jar文件中。该jar作为外部jar添加到项目中。

public class ExecuteScript {

    private static void testRunner(Map<String, String> testngParams) {
        TestNG testNG = new TestNG();
        XmlSuite suite = getXmlSuite();
        XmlTest test = getXmlTest(suite);
        test.setParameters(testngParams);
        List<XmlClass> classes = getXmlClasses();
        test.setXmlClasses(classes);
        List<XmlTest> tests = new ArrayList<XmlTest>();
        tests.add(test);
        suite.setTests(tests);
        List<XmlSuite> suites = new ArrayList<XmlSuite>();
        suites.add(suite);
        testNG.setXmlSuites(suites);
        testNG.run();
    }
    private static  XmlSuite getXmlSuite() {
        XmlSuite suite = new XmlSuite();
        suite.setName("TestSuite");
        return suite;
    }
    private static XmlTest getXmlTest(XmlSuite suite) {
        XmlTest test = new XmlTest(suite);
        test.setName("test_with_firefox");
        return test;
    }
    private static List<XmlClass> getXmlClasses() {
        List<XmlClass> classez = new ArrayList<XmlClass>();
        classez.add(new XmlClass("com.articles.ArticleListingViewTest"));
        classez.add(new XmlClass("com.mynotes.NewNoteCreationDeletionTest"));
        return classez;
    }
    public static void main(String args[]) {
        Map<String,String> params = new HashMap<String,String>();
        params.put("platformname", "Android");
        params.put("deviceName", "Nexus");
        params.put("OSVersion", "4.2");
        params.put("udid", "4d003e9be03d9");
        testRunner(params);
    }
}
java testng
1个回答
0
投票

配置失败表示配置方法引发异常。

[配置方法是用@BeforeSuite@AfterSuite@BeforeTest@AfterTest@BeforeGroups@AfterGroups@BeforeClass@AfterClass@BeforeMethod和/或@AfterMethod注释的方法。

[当配置失败发生时,TestNG跳过取决于配置方法的进一步测试(除非@TestalwaysRun设置为true)。

如果您有多种配置方法,那么有几种方法可以确定哪一种方法失败,包括使用断点进行调试,添加日志记录以及使用HTML报告。

© www.soinside.com 2019 - 2024. All rights reserved.