【问题标题】:How to organize junit test suites using Allure如何使用 Allure 组织 junit 测试套件
【发布时间】:2015-09-08 10:56:12
【问题描述】:

到目前为止,除了 Junit 和 Jenkins,我使用 log4j 来文本报告测试用例的结果,但现在我想使用 Allure,从我的 selenium 测试中生成更清晰、更透明的报告。 我正在使用 maven 项目,其中单个测试用例是一个 java 类,并且由每个步骤也是一个 java 类组成。它看起来像这样:

public class FirstTestCase() {
    new Step1(driver).run();
    new Step2(driver).run();
    new Step3(driver).run();
}

public class SecondTestCase() {
    … second test case steps ...
}

在每一步 - “运行” - 包含硒代码。

单个测试用例被分组到更大的集合中。例如:

@RunWith(Suite.class)
@Suite.SuiteClasses({
    FirstTestCase.class,
    SecondTestCase.class
})
public class SetOfTests {}

最后,我有一个主要类(称为“TestRunner”),其中激活了相应的集合。它看起来像这样:

public class TestRunner {
    @Test
    public void main() {
        Result result = JUnitCore.runClasses(
        SetOfTests.class
    );

所以,我的项目中的类层次结构如下:

TestRunner |-
    SetOfTests |-
        FirstTestCase |-
                        |- Step 1
                        |- Step 2
                        |- ....
        SecondTestCase |-
                        |- Step 1
                        |-Step 2
                        |- ....

现在,我的问题是: 如何添加 Allure 注释(如 @Stories、@Features、@Steps...)的最佳方法是 Jenkins“构建”之后,当生成报告时,结果将以层次结构的形式呈现在上面

请注意,jenkins 已配置、工作并生成报告,但不是我想要的形式。

只是我需要以简单的方式知道错误发生在哪个测试和哪个步骤

【问题讨论】:

    标签: java selenium jenkins junit allure


    【解决方案1】:

    如果您查看Allure XSD file,您会看到当前(1.4.x 系列)我们支持以下结构:

    TestSuite|
             TestCase|
                      Step|
                          Substep|
                                 ...
    

    所以测试套件可以包含一组测试用例(不支持嵌套测试用例),每个测试用例可以包含无限深度的步骤层次结构。我将为您的情况实现一个自定义 JUnit 适配器 - 这就像创建一个 Java 类一样简单,例如实现 JUnit RunListener 接口的following

    【讨论】:

    • 感谢您的回复。我会在不久的将来看看这个
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-21
    • 1970-01-01
    • 2013-11-04
    • 2010-10-02
    • 1970-01-01
    相关资源
    最近更新 更多