【发布时间】:2020-05-29 03:42:01
【问题描述】:
我正在尝试使用 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
"==============================================="
【问题讨论】:
-
你在用 maven 命令运行吗?
-
没有。我没有使用 Maven。
-
您确定您在输出中看到了
ajkcbh。这意味着您的测试实际上正在运行。还有一件事,您在哪个 IDE 中运行此测试,如果它是 elcpse,您确定安装了 testng 插件。 -
@Durgesh - 你需要告诉我们你是如何运行这个测试的?它也有一个编译错误。如果没有返回类型,则无法定义方法。所以我不确定你是如何让这个测试类编译的(所以我猜它可能是复制粘贴错误)?您还可以将
verbose="3"添加到您的套件xml 文件中的<suite>标记中并分享完整的输出吗? -
实际上问题是我在构造函数中编写了代码,如果我们在构造函数中使用 Assert 语句,那么它们就不起作用。当我在方法中使用它们时(即通过给出将我的构造函数更改为方法返回类型并更改其名称)然后它就起作用了。
标签: java selenium testng assert