TestNG - 断言

  • 简述

    在前面的章节中,我们使用 TestNG 执行了一些测试。我们没有声明测试成功失败。如果测试完成时没有抛出任何异常,或者它抛出了预期的异常,则该测试被认为是成功的。
    测试方法通常由可以抛出异常的调用或各种断言(使用 Java“assert”关键字)组成。TestNG 断言测试人员决定测试是否成功以及异常。TestNG 中的断言是一种验证预期结果和实际结果是否匹配的方法。
    以下是 TestNG 断言的通用语法:
    
      Assert.Method( actual, expected)
    
    • actual: 测试人员获得的实际值。
    • expected: 您期望的值。
  • 创建一个类

    让我们在这里看一个断言的例子。创建一个要测试的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类,比如说, TestAssertion.java/work/testng/src. 在这里,我们断言实际和预期的结果。
    
      import org.testng.Assert;
      import org.testng.annotations.Test;
      public class TestAssertion {
         String message = "Manisha";
         MessageUtil messageUtil = new MessageUtil(message);
         @Test
         public void testPrintMessage() {
            Assert.assertEquals("Tutorialspoint", messageUtil.printMessage());
         }
      }
    
    前面的测试类包含两个将在单独的线程中运行的测试方法。
  • 创建 testng.xml

    在中创建 testng.xml /work/testng/src 执行测试用例。
    
      <?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 = "TestAssertion"/>
            </classes>
         </test>
      </suite>
    
    使用 javac 编译 java 文件。
    
    /work/testng/src$ javac TestAssertion.java MessageUtil.java
    
    现在,运行 testng.xml。
    
    /work/testng/src$ java org.testng.TestNG testng.xml
    
    验证输出。
    
      Manisha
      ===============================================
      Suite1
      Total tests run: 1, Passes: 0, Failures: 1, Skips: 0
      ===============================================
    
    您可以查看 /work/testng/src/test-output/index.html 以获取详细报告。您将看到如下报告:
    断言报告