【问题标题】:TestNG test reuseTestNG 测试重用
【发布时间】:2010-08-29 02:57:00
【问题描述】:

需要一些帮助以 TestNG 术语思考。我有一个用 TestNG 编写的大型第三方测试套件,我希望能够从中编写测试并从 Intellij 或 Maven 运行它们

是否有可能以编程方式组合测试并仍然利用这些其他框架中内置的运行器。在 JUnit 中,您可以这样做:

import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;

public class ExampleTest extends TestCase {

    public static Test suite() {
        final TestSuite suite = new TestSuite("suite");
        suite.addTestSuite(org.thirdparty.tests.FooTest.class);
        suite.addTestSuite(org.thirdparty.tests.BarTest.class);
        suite.addTestSuite(org.thirdparty.tests.BazTest.class);
        return suite;
    }
}

似乎找不到等效的 TestNG 概念。我看到有一个允许以编程方式创建套件的 XmlSuite 类,但我认为无法将其交给像 Maven Surefire 或 Intellij 这样的测试运行程序。

是否可以简单直接地创建一个测试来移交 XmlSuite 对象或以其他方式以编程方式编写测试,而不必控制测试运行器?

【问题讨论】:

    标签: java maven-2 junit intellij-idea testng


    【解决方案1】:

    这有点做作,但您总是可以创建一个 XmlSuite 对象,将 toXml() 的输出保存到文件中,然后使用 Surefire 的标签来引用该文件。

    这能回答你的问题吗?

    【讨论】:

    • 和有趣的创意答案:)
    • 谢谢 :-) 如果您找到了这个创意,您应该会看到我脑海中闪过的另一对...
    • 谢谢,塞德里克。它确实回答了这个问题,因为它似乎不可能:) 没有它我过得很好。附带说明一下,有一个 @XmlSuite 注释可能会很好,它可以指向类路径中的 testng 文件(使 surefire 标记不相关),或者它可以应用于生成并返回 XmlSuite 的静态方法(使xml文件无关)。
    • David:关于@XmlSuite 的有趣建议,我会考虑的。
    • 这仅适用于我的用例,前提是我可以在运行测试之前自动运行这些东西,而不管它们是如何被调用的。 (我想支持 Eclipse 插件作为主要的 GUI 进行测试。)
    猜你喜欢
    • 1970-01-01
    • 2018-12-31
    • 1970-01-01
    • 1970-01-01
    • 2017-08-05
    • 2020-01-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多