TestNG 如何忽略测试类

TestNG 如何忽略测试类

TestNG支持多种方式来忽略所有的@Test执行。根据需求,用户可以在不执行的情况下完全忽略一个完整的测试。

TestNG支持以下级别来忽略所有的@Test:

  • 在一个类中

  • 在一个特定包中

  • 在一个包及其所有子包中

用户必须在所需的级别上使用@Ignore注解来禁用测试。@Ignore注解的优先级高于单个@Test注解。

要在一个类中禁用所有的@Test,只需在类名前面写上@Ignore。它将禁用类中的所有@Test。

在本文中,我们将说明如何禁用一个类中的整个测试。

步骤

  • 第一步:创建一个TestNG类 – NewTestngClass。

  • 第二步:在该类中编写两个不同的@Test方法 – NewTestngClass,并在编程代码部分的类名上方放置@Ignore注解。

  • 第三步:现在创建如下的testNG.xml来运行TestNG类。

  • 第四步:现在,在IDE中运行testNG.xml或直接运行testNG类,或使用命令行编译和运行它。

示例

以下是一个常见的TestNG类 – NewTestngClass的代码:

src/NewTestngClass.java

import org.testng.SkipException;
import org.testng.annotations.Test;

@Ignore
public class NewTestngClass {

    @Test(enabled=false)
    public void testcase1(){
        System.out.println("Testcase 1 - Not executed");
    }
    @Test
    public void testcase2(){
        System.out.println("Testcase 2 - skip exception example");
        throw new SkipException("Skipping this exception");
    }

    @Test
    public void testcase3(){
        boolean DataAvailable=false;
        System.out.println("Test Case3 - Conditional Skip");
        if(!DataAvailable)
            throw new SkipException("Skipping this exception");
        System.out.println("Executed Successfully");
    }

}

testng.xml

这是一个用于组织和运行TestNG测试用例的配置文件。

当只需要执行有限的测试而不是整个测试套件时,它非常方便。

<?xml version = "1.0" encoding = "UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >

<suite name = "Suite1">
   <test name = "test1">
      <classes>
    <class name = "NewTestngClass"/>
      </classes>
   </test>
</suite>

输出

===============================================
Suite1
Total tests run: 0, Passes: 0, Failures: 0, Skips: 0
===============================================

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程

TestNG 精选笔记