我正在尝试使用testNG执行我的测试脚本并尝试下面的代码但是0显示反对运行,失败并在控制台中跳过...因为我无法在脚本中验证结果
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
“============================================== =“
套件
总测试运行:0,失败:0,跳过:0
“============================================== =“
答案 0 :(得分:5)
以下是您的问题的答案:
您的代码块中存在一个小错误。当您使用TestNG
并在@Test
注释中编写方法时,我们应该使用正确的 return types
来定义方法。我使用了您自己的代码,只需将返回类型添加为 void ,如下所示:
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
执行代码块转换为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 -->
&#13;
我再次以TestNG Suite
执行此代码块。在这种情况下,控制台上的输出也是:
[TestNG] Running:
C:\Users\AtechM_03\LearnAutmation\LearnAutomationTestNG\testng.xml
ajkcbh
===============================================
Suite
Total tests run: 1, Failures: 0, Skips: 0
===============================================
如果这回答你的问题,请告诉我。