我正在尝试使用testNG执行我的测试脚本并尝试以下代码,但是在控制台中针对运行,失败和跳过显示0。因此,我无法在脚本中验证结果。
Java:
package com.demoaut.newtours.testcases; import org.testng.Assert; import org.testng.annotations.Test; //import junit.framework.Assert; public class TC002_CheckAssert { @Test public TC002_CheckAssert() { System.out.println("ajkcbh"); try { Assert.assertEquals("Pass", "Pass"); } catch(Exception e) { System.out.println("Exception:" + e.getLocalizedMessage()); } } }
我正在通过testng.xml文件执行上述脚本。
<suite name="Suite"> <test name="Test"> <classes> <class name="com.demoaut.newtours.testcases.TC002_CheckAssert" /> </classes> </test> </suite>
控制台结果:
ajkcbh "===============================================" Suite Total tests run: 0, Failures: 0, Skips: 0 "==============================================="
您的代码块中有一个小错误。当您TestNG在@Test注解中使用和编写方法时,我们应使用定义适当的方法 return types 。我使用了自己的代码,并简单地将 返回类型 添加为 void ,如下所示:
TestNG
@Test
return types
import org.testng.Assert; import org.testng.annotations.Test; public class Q45191867_Assert_Pass_Suite { @Test public void TC002_CheckAssert() { System.out.println("ajkcbh"); try { Assert.assertEquals("Pass", "Pass"); } catch(Exception e) { System.out.println("Exception:"+e.getLocalizedMessage()); } } }
当以方式执行时,代码块成功执行TestNG Test。
TestNG Test
我已经执行了如下代码转换为TestNG以下代码块testng.xml:
testng.xml
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd"> <suite name="Suite"> <test name="Test"> <classes> <class name="demo.Q45191867_Assert_Pass_Suite"/> </classes> </test> <!-- Test --> </suite> <!-- Suite -->
我再次以方式执行了此代码块TestNG Suite。在这种情况下,控制台上的输出也是:
TestNG Suite
[TestNG] Running: C:\Users\AtechM_03\LearnAutmation\LearnAutomationTestNG\testng.xml ajkcbh =============================================== Suite Total tests run: 1, Failures: 0, Skips: 0 ===============================================