ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
我们先写一个计算加法的方法,然后编写一个用例去测试改方法 demo.java ``` package Testng; public class demo { public int add(int n,int m){ return n + m; } } ``` TestNg用例:day01testngTest ~~~ package Testng; import Testng.demo; import org.testng.Assert; import org.testng.annotations.Test; import static org.testng.Assert.*; public class day01testngTest { @Test public void testTestEmailGenerator() { demo str = new demo(); int res = str.add(10,20); int cc = 30; Assert.assertEquals(cc,res); } } ~~~ **运行结果:** =============================================== Default Suite Total tests run: 1, Passes: 1, Failures: 0, Skips: 0 =============================================== Process finished with exit code 0 ## 代码解析: Total tests run: 1:运行的测试总数:1 Passes: 1:通过次数:1, Failures: 0,:失败次数:0, Skips: 0:跳过次数:0 <br> **assertEquals** :判断是否相等,Object类型的对象需要实现haseCode及equals方法。第一个参数是期望结果的值,第二个参数是实际结果的值 上面就是一个测试用例 <br> <br> **案例演示:** 首先创建一个**Testng2.test.testng**文件名,Testng2.test.testng文件名下在创建三个java文件com,com2,com3 首先来看com里面的代码内容 ``` package Testng2.test.testng; import org.testng.annotations.BeforeSuite; import org.testng.annotations.BeforeTest; import org.testng.annotations.Test; public class com { @Test public void testone(){ System.out.println("这是一个最基本的测试的方法,必须以@Test来注解,负责java底层认为这是一个普通的方法"); } @BeforeSuite public void beforsuite(){ System.out.println("I`m BeforeSuite run success"); } @BeforeTest public void beforetest(){ System.out.println("I`m BeforeTest run success 注释的方法将在属于<test>标签内的类的所有测试方法运行之前运行。"); } } ``` <br> com2java文件里面的内容 ``` package Testng2.test.testng; import org.testng.annotations.AfterClass; import org.testng.annotations.AfterSuite; import org.testng.annotations.Test; public class com2 { @Test public void com2Test(){ System.out.println("I`m com2test run success"); } @AfterClass public void com2AfterClass(){ System.out.println("I`m com2AfterClass run success 在调用当前类的第一个测试方法之后运行,注释方法仅运行一次\n "); } @AfterSuite public void com2AfterSuite(){ System.out.println("I`m com2AfterSuite run success"); } } ``` <br> com3java文件里面的内容 ``` package Testng2.test.testng; import org.testng.annotations.Test; public class com3 { @Test public void com3Test1(){ System.out.println("Here is com3Test1 run success"); } @Test public void com3Test2(){ System.out.println("Here is com3Test2 run success"); } } ``` 我们的配置文件xml里面情况是这样的 ```xml <?xml version="1.0" encoding="utf-8" ?> # 这是文件头 <suite name="TestSuite"> <test name="inertface"> # 这是<test>套件,则套件昵称是随意起的 <classes> <class name="Testng2.test.testng.com" /> <class name="Testng2.test.testng.com2" /> </classes> </test> <test name="method"> <classes> <class name="Testng2.test.testng.com3"/> </classes> </test> </suite> ``` <br> <br> **运行结果** ``` [TestNGContentHandler] [WARN] It is strongly recommended to add "<!DOCTYPE suite SYSTEM "https://testng.org/testng-1.0.dtd" >" at the top of your file, otherwise TestNG may fail or not work as expected. I`m BeforeSuite run success I`m BeforeTest run success 注释的方法将在属于<test>标签内的类的所有测试方法运行之前运行。 这是一个最基本的测试的方法,必须以@Test来注解,负责java底层认为这是一个普通的方法 I`m com2test run success I`m com2AfterClass run success 在调用当前类的第一个测试方法之后运行,注释方法仅运行一次 Here is com3Test1 run success Here is com3Test2 run success I`m com2AfterSuite run success =============================================== TestSuite Total tests run: 4, Passes: 4, Failures: 0, Skips: 0 =============================================== ```