繁体   English   中英

TestNG 嵌套测试或测试步骤

[英]TestNG nested tests or test steps

我想知道是否有可能使 TestNG 显示在它的报告中,例如嵌套测试或测试步骤。

问题是我有相当大的集成测试用例,如果我可以在某些步骤上将它解耦,那就太好了,比如说,使用 allure 的 @Step 注释之类的东西。

目前,测试用例在 intellij IDEA 报告中显示为一个巨大的单独条目,其中包含大量日志,很难 go 通过和分析。

在此处输入图像描述

您可以使用 ExtentTest 类的 createNode 方法。 它将在主测试下创建节点。

我从未尝试过使用内部 TestNG 类,但这可能是可能的,而且我相信 IntelliJ 会呈现嵌套视图。 你可以做一个简单的小项目来尝试一下。 有一个人似乎在这里尝试过内部类: http : //makeseleniumeasy.com/2018/05/13/testng-tutorials-12-how-to-run-inner-testng-class-from-testng-xml / . 让我知道它是否有效。 在您尝试之前,不知道 IntelliJ 是否呈现嵌套。

奖励:如果可行,使用 Gradle testng 插件执行您的 TestNG 并查看 HTML 报告是否也呈现嵌套会很有趣。

内部类可用于形成组。 对于一级嵌套,内部类必须公开。

请尝试以下操作:

public class foo {
    public class bar1 {
        @Test
        public void test11() {System.out.println("test11");}
        @Test
        public void test12() {System.out.println("test12");}
    }
    public class bar2 {
        @Test
        public void test21() {System.out.println("test21");}
        @Test
        public void test22() {System.out.println("test22");}
    }
}

现在您可以使用TestNG 的groups功能例如:

class RecordsAccessorTest {
   @BeforeMethod(groups = "NewRecordGroup")
    public void setUp() {
      // some set up for only new record creation is tested
    }

   @Test(groups = "NewRecordGroup")
   public void testNewRecordCreation_happyPath() {...}

   @Test(groups = "NewRecordGroup")
   public void testNewRecordCreation_errorPath() {...}

   @Test
   public void someOtherTestNotInGroup() {...}
   
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM