TestNG - 执行测试

  • 简述

    测试用例使用 TestNG班级。此类是在 TestNG 框架中运行测试的主要入口点。用户可以创建自己的 TestNG 对象并以多种不同的方式调用它,例如 -
    • 在现有的 testng.xml 上。
    • 在一个完全由 Java 创建的综合 testng.xml 上。
    • 通过直接设置测试类。
    您还可以定义要包含或排除的组、分配参数等。命令行参数是 -
    • -d outputdir:指定输出目录。
    • -testclass class_name:指定一个或多个类名。
    • -testjar jar_name:指定包含测试的 jar。
    • -sourcedir src1;src2: ; 源目录的分隔列表(仅在使用 javadoc 注释时使用)。
    • -target
    • -groups
    • -testrunfactory
    • -listener
    在下面的示例中,我们将在现有的 testng.xml 中创建 TestNG 对象。
  • 创建一个类

    创建一个要测试的java类,比如说, MessageUtil.java/work/testng/src.
    
    /*
    * This class prints the given message on console.
    */
    public class MessageUtil {
       private String message;
       //Constructor
       //@param message to be printed
       public MessageUtil(String message) {
          this.message = message;
       }
       // prints the message
       public String printMessage() {
          System.out.println(message);
          return message;
       }
    }
    
  • 创建测试用例类

    • 创建一个 java 测试类,比如说, SampleTest.java.
    • 将测试方法 testPrintMessage() 添加到您的测试类。
    • 向方法 testPrintMessage() 添加注解@Test。
    • 使用TestNG的assertEquals API实现测试条件并检查条件。
    创建一个名为的java类文件 SampleTest.java/work/testng/src.
    
    import org.testng.Assert;
    import org.testng.annotations.Test;
    public class SampleTest {
       String message = "Hello World";
       MessageUtil messageUtil = new MessageUtil(message);
       @Test
       public void testPrintMessage() {
          Assert.assertEquals(message, messageUtil.printMessage());
       }
    }
    
  • 创建 testng.xml

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