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 以获取详细报告。您将看到如下报告: