TestNG - 基本注解 - Test

  • 简述

    @Test 注释将类或方法标记为测试的一部分。
    以下是@Test 注解支持的属性列表:
    属性 描述
    alwaysRun
    如果设置为 true,则此测试方法将始终运行,即使它依赖于失败的方法。
    dataProvider
    此测试方法的数据提供者的名称。
    dataProviderClass
    在哪里寻找数据提供者的类。如果未指定,数据提供者将在当前测试方法的类或其基类之一上查找。如果指定了此属性,则数据提供程序方法需要在指定的类上是静态的。
    dependsOnGroups
    此方法所依赖的组列表。
    dependsOnMethods
    此方法所依赖的方法列表。
    description
    此方法的说明。
    enabled
    是否启用此类/方法上的方法。
    expectedExceptions
    测试方法预期抛出的异常列表。如果没有抛出异常或与此列表中的异常不同,则此测试将被标记为失败。
    groups
    这个类/方法所属的组列表。
    invocationCount
    应调用此方法的次数。
    invocationTimeOut
    对于所有调用计数的累计时间,此测试应花费的最大毫秒数。如果未指定 invocationCount,则该属性将被忽略。
    priority
    此测试方法的优先级。将首先安排较低的优先级。
    successPercentage
    此方法预期的成功百分比
    singleThreaded
    如果设置为 true,则此测试类上的所有方法都保证在同一线程中运行。此属性只能在类级别使用,如果在方法级别使用,它将被忽略。
    timeOut
    此测试应花费的最大毫秒数。
    threadPoolSize
    此方法的线程池大小。该方法将从 invocationCount 指定的多个线程中调用。
  • 创建测试用例类

    让我们看看如何使用@Test 注解。
    • 创建一个 java 测试类,比如说, SimpleTestClass.java/work/testng/src.
    • 将测试方法 sum() 添加到您的测试类。
    • 向方法 sum() 添加注解@Test。
    以下是SimpleTestClass.java 的内容。
    
      import org.testng.annotations.Test;
      public class SimpleTestClass {
         @Test
         public void sum()
         {
              int sum=0;
              int a=15;
              int b=27;
              sum=a+b;
              System.out.println("sum="+sum);
         }
      }
    
  • 创建 testng.xml

    接下来,让我们在其中创建 testng.xml 文件 /work/testng/src, 执行测试用例。此文件以 XML 格式捕获您的整个测试。该文件使您可以轻松地在一个文件中描述所有测试套件及其参数,您可以将其签入代码存储库或通过电子邮件发送给同事。它还可以轻松提取测试的子集或拆分多个运行时配置(例如,testngdatabase.xml 将仅运行测试您的数据库的测试)。
    
      <?xml version="1.0" encoding="UTF-8"?>
      <!DOCTYPE suite SYSTEM "https://testng.org/testng-1.0.dtd">
      <suite name="Suite">
        <test thread-count="5" name="Test">
          <classes>
            <class name="SimpleTestClass"/>
          </classes>
        </test> <!-- Test -->
      </suite> <!-- Suite -->
    
    使用 javac 编译测试用例。
    
    /work/testng/src$ javac SimpleTestClass.java TestListener.java
    
    现在,运行 testng.xml,它将运行 <test> 标记中定义的测试用例。
    
    /work/testng/src$ java org.testng.TestNG testng.xml
    
    验证输出。
    
      sum=42
    ===============================================
    Suite
    Total tests run: 1, Passes: 1, Failures: 0, Skips: 0
    ===============================================