zoukankan      html  css  js  c++  java
  • testng入门教程3用TestNG执行case的顺序

    本教程介绍了TestNG中执行程序的方法,这意味着该方法被称为第一和一个接着。下面是执行程序的TestNG测试API的方法的例子。

    创建一个Java类文件名TestngAnnotation.java在C:>TestNG_WORKSPACE测试注解。

    import org.testng.annotations.Test;
    import org.testng.annotations.BeforeMethod;
    import org.testng.annotations.AfterMethod;
    import org.testng.annotations.BeforeClass;
    import org.testng.annotations.AfterClass;
    import org.testng.annotations.BeforeTest;
    import org.testng.annotations.AfterTest;
    import org.testng.annotations.BeforeSuite;
    import org.testng.annotations.AfterSuite;
    
    public class TestngAnnotation {
        // test case 1
        @Test
        public void testCase1() {
            System.out.println("in test case 1");
        }
    
        // test case 2
        @Test
        public void testCase2() {
            System.out.println("in test case 2");
        }
    
        @BeforeMethod
        public void beforeMethod() {
            System.out.println("in beforeMethod");
        }
    
        @AfterMethod
        public void afterMethod() {
            System.out.println("in afterMethod");
        }
    
        @BeforeClass
        public void beforeClass() {
            System.out.println("in beforeClass");
        }
    
        @AfterClass
        public void afterClass() {
            System.out.println("in afterClass");
        }
    
        @BeforeTest
        public void beforeTest() {
            System.out.println("in beforeTest");
        }
    
        @AfterTest
        public void afterTest() {
            System.out.println("in afterTest");
        }
    
        @BeforeSuite
        public void beforeSuite() {
            System.out.println("in beforeSuite");
        }
    
        @AfterSuite
        public void afterSuite() {
            System.out.println("in afterSuite");
        }
    
    }
    接下来,让我们创建的文件 testng.xml 在 C: > TestNG_WORKSPACE 执行注解。
    
    <?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="TestngAnnotation"/>
        </classes>
      </test>
    </suite>

    编译使用javac测试用例类。

    C:TestNG_WORKSPACE>javac TestngAnnotation.java
    

    现在运行testng.xml,将运行提供的测试用例类中定义的测试用例。

    C:TestNG_WORKSPACE>java org.testng.TestNG testng.xml
    

    验证输出。

    in beforeSuite
    in beforeTest
    in beforeClass
    in beforeMethod
    in test case 1
    in afterMethod
    in beforeMethod
    in test case 2
    in afterMethod
    in afterClass
    in afterTest
    in afterSuite
    
    ===============================================
    Suite
    Total tests run: 2, Failures: 0, Skips: 0
    ===============================================
    

    见上面的输出,TestNG是执行过程如下:

    • 首先所有beforeSuite()方法只执行一次。

    • 最后,afterSuite的()方法只执行一次。

    • 即使方法 beforeTest(), beforeClass(), afterClass() 和afterTest() 方法只执行一次。

    • beforeMethod()方法执行每个测试用例,但在此之前执行的测试用例。

    • afterMethod()方法执行每个测试用例,但测试用例执行后。

    • In between beforeMethod() and afterMethod() each test case executes.

    使用注释

    传统的方式来表示JUnit 3中的测试方法是测试自己的名字前缀。标记一个类中的某些方法,具有特殊的意义,这是一个非常有效的方法,但命名不很好的扩展(如果我们想添加更多标签为不同的框架?),而非缺乏灵活性(如果我们要通过额外的参数测试框架)。

    注释被正式加入到JDK 5中的Java语言和TestNG作出选择使用注释注释测试类。

    这里是TestNG的支持列表中的注解:

    注解描述
    @BeforeSuite 注解的方法将只运行一次,运行所有测试前此套件中。
    @AfterSuite 注解的方法将只运行一次此套件中的所有测试都运行之后。
    @BeforeClass 注解的方法将只运行一次先行先试在当前类中的方法调用。
    @AfterClass 注解的方法将只运行一次后已经运行在当前类中的所有测试方法。
    @BeforeTest 注解的方法将被运行之前的任何测试方法属于内部类的 <test>标签的运行。
    @AfterTest 注解的方法将被运行后,所有的测试方法,属于内部类的<test>标签的运行。
    @BeforeGroups 组的列表,这种配置方法将之前运行。此方法是保证在运行属于任何这些组第一个测试方法,该方法被调用。
    @AfterGroups 组的名单,这种配置方法后,将运行。此方法是保证运行后不久,最后的测试方法,该方法属于任何这些组被调用。
    @BeforeMethod 注解的方法将每个测试方法之前运行。
    @AfterMethod 被注释的方法将被运行后,每个测试方法。
    @DataProvider
    标志着一个方法,提供数据的一个测试方法。注解的方法必须返回一个Object[] [],其中每个对象[]的测试方法的参数列表中可以分配。
    该@Test 方法,希望从这个DataProvider的接收数据,需要使用一个dataProvider名称等于这个注解的名字。
    @Factory 作为一个工厂,返回TestNG的测试类的对象将被用于标记的方法。该方法必须返回Object[]。
    @Listeners 定义一个测试类的监听器。
    @Parameters 介绍如何将参数传递给@Test方法。
    @Test 标记一个类或方法作为测试的一部分。

    使用注释的好处

    以下是一些使用注释的好处:

    • TestNG的标识的方法关心寻找注解。因此,方法名并不限于任何模式或格式。
    • 我们可以通过额外的参数注解。
    • 注释是强类型的,所以编译器将标记任何错误。
    • 测试类不再需要任何东西(如测试案例,在JUnit3)扩展。

    文章转载自:易百教程 [http://www.yiibai.com]
    本文标题:TestNG执行程序
    转载请保留原文链接:http://www.yiibai.com/html/testng/2013/0914296.html

  • 相关阅读:
    [Leetcode]142. Linked List Cycle II
    c程序设计语言笔记001
    把输入一次一个字符复制到输出
    linux笔记
    转 算法之二叉树各种遍历
    将输入复制到输出
    java.lang.OutOfMemoryError处理错误
    字号对照表
    颜色十六进制对照表一
    CSS样式(转)
  • 原文地址:https://www.cnblogs.com/111testing/p/6181651.html
Copyright © 2011-2022 走看看