TestNg-01-HelloWorld

2020-03-12  本文已影响0人  请叫我刚爷

1.环境准备

jdk1.8 , idea/myeclisp , maven

2、构建自己的maven工程

在pom.xml中引入需要的配置,如下

<dependencies>
    <dependency>
        <groupId>org.testng</groupId>
        <artifactId>testng</artifactId>
        <version>RELEASE</version>
        <scope>compile</scope>
    </dependency>
</dependencies>

配置Java文件

package com.course.testng;
import org.testng.annotations.*;

public class TestNg0 {

    @Test
    public void HelloWorld(){
        System.out.println("HelloWorld");
    }

    @BeforeMethod
    public void beforeMethod(){
        System.out.println("BeforeMethod这是在HelloWorld之前运行的");
    }

    @AfterMethod
    public void afterMethod(){
        System.out.println("AfterMethod这是在HelloWorld之后运行的");
    }

    @BeforeClass
    public void beforeClass(){
        System.out.println("beforeClass这是在类TestNg0运行之前运行的方法");
    }

    @AfterClass
    public void afterClass(){
        System.out.println("afterClass这是在类TestNg0运行之后运行的方法");
    }

    @BeforeSuite
    public void beforeSuite(){
        System.out.println("BeforeSuite测试套件");
    }

    @AfterSuite
    public void afterSuite(){
        System.out.println("AfterSuite测试套件");
    }
}

执行结果如下:

image.png

通过运行结果可以知道各个标签的运行大意,从大到小依次是BeforeSuite-->beforeClass-->BeforeMethod-->test-->AfterMethod-->afterClass-->AfterSuite。

我们将代码更改一下,如下:

package com.course.testng;
import org.testng.annotations.*;

public class TestNg0 {

    @Test
    public void HelloWorld(){
        System.out.println("HelloWorld");
    }

    @Test
    public void HelloWorld1(){
        System.out.println("HelloWorld1");
    }

    @BeforeMethod
    public void beforeMethod(){
        System.out.println("BeforeMethod这是在HelloWorld之前运行的");
    }

    @AfterMethod
    public void afterMethod(){
        System.out.println("AfterMethod这是在HelloWorld之后运行的");
    }

    @BeforeClass
    public void beforeClass(){
        System.out.println("beforeClass这是在类TestNg0运行之前运行的方法");
    }

    @AfterClass
    public void afterClass(){
        System.out.println("afterClass这是在类TestNg0运行之后运行的方法");
    }

    @BeforeSuite
    public void beforeSuite(){
        System.out.println("BeforeSuite测试套件");
    }

    @AfterSuite
    public void afterSuite(){
        System.out.println("AfterSuite测试套件");
    }
}

执行结果如下图,得知除了BeforeMethod和AfterMethod其他的都执行多次,就是有多少个Test注解标注,就执行多少次,其他的只执行一次。相关测试注解的详解请参考<u>https://www.yiibai.com/testng/basic-annotations.html</u>

[图片上传失败...(image-d24621-1583992745508)]

忽略测试

如果不想让某个方法执行则标注@Test(enabled = false)即可如下

package com.course.testng;
import org.testng.annotations.*;

public class TestNg0 {

    @Test
    public void HelloWorld(){
        System.out.println("HelloWorld");
    }

    @Test(enabled = false)
    public void HelloWorld1(){
        System.out.println("HelloWorld1");
    }

    @BeforeMethod
    public void beforeMethod(){
        System.out.println("BeforeMethod这是在HelloWorld之前运行的");
    }

    @AfterMethod
    public void afterMethod(){
        System.out.println("AfterMethod这是在HelloWorld之后运行的");
    }

    @BeforeClass
    public void beforeClass(){
        System.out.println("beforeClass这是在类TestNg0运行之前运行的方法");
    }

    @AfterClass
    public void afterClass(){
        System.out.println("afterClass这是在类TestNg0运行之后运行的方法");
    }

    @BeforeSuite
    public void beforeSuite(){
        System.out.println("BeforeSuite测试套件");
    }

    @AfterSuite
    public void afterSuite(){
        System.out.println("AfterSuite测试套件");
    }
}
image.png
上一篇 下一篇

猜你喜欢

热点阅读