天天看点

TestNG忽略测试和预期异常

一.有时候我们写的代码还没有构思完整, 但测试case又需要执行,testng提供了@Test (Enable=false) ,可以有助于禁用.

@Test (Enable=true) 是默认的方式, 下面我们来看下示例

1.创建java类TestngIgnoreTest

public class TestngIgnoreTest {

    @Test(enabled = true)
    public void test1(){
        Assert.assertEquals("test1","test1");
        System.out.println("==test1==");
    }

    @Test(enabled = true)
    public void test2(){
        Assert.assertEquals("test2","test2");
        System.out.println("==test2==");
    }
    @Test(enabled = false)
    public void test3(){
        Assert.assertEquals("test3","test3");
        System.out.println("==test3==");
    }
}
           

复制

2.testng.xml 文件

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="test-parameter" verbose="1">
   
    <test name="example4" preserve-order="true">
        <classes>
            <class name="TestngIgnoreTest"/>
        </classes>
    </test>

</suite>
           

复制

3. Maven的依赖包:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.zhou</groupId>
    <artifactId>com.zhou</artifactId>
    <version>1.0-SNAPSHOT</version>
    <name>IgnoreTest</name>
    <url>http://maven.apache.org</url>
    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.testng</groupId>
            <artifactId>testng</artifactId>
            <version>6.14.2</version>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.45</version>
        </dependency>
        <dependency>
            <groupId>org.apache.httpcomponents</groupId>
            <artifactId>httpclient</artifactId>
            <version>4.5.5</version>
        </dependency>
    </dependencies>
</project>           

复制

4. 执行结果

==test1==
==test2==

===============================================
test-parameter
Total tests run: 2, Failures: 0, Skips: 0
===============================================


Process finished with exit code 0
           

复制

二. 预期异常示例

有些异常是我们预期的, 不希望testng 抛异常, 那又该怎么做呢

1.创建java类TestExcepitonTest

public class TestExcepitonTest {

    @Test(expectedExceptions = ArithmeticException.class)
    public void test1(){
        int a=1/0;
        System.out.println("运算结果是: "+ a);

    }
}           

复制

2. 执行结果

===============================================
test-parameter
Total tests run: 1, Failures: 0, Skips: 0
===============================================


Process finished with exit code 0
           

复制

执行结果没有抛出任何异常, 被我们捕获处理了.以上方法在实际项目中还是经常用到.

伟大教育家孔子说过,"知行合一,学以致用", 才是做好学问的终极法宝.

TestNG忽略测试和预期异常

方便拉你进入