我正在尝试使用 testng.xml 运行项目中的所有测试我有 80 个类,大约有 140 个测试,但每次运行测试时,testng 只运行 83/140 个测试。我试图在未执行但找不到的测试中找到模式。
所有测试/类文件都在“脚本”包下,所有类文件都有:
package scripts;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
所有测试都有@Test
注释(即有 140 个@Test
标签)
@Test(priority=1,testName="",description="")
我没有enabled="false"
在@Test
注释中使用
我的 testng.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Regression">
<test name="Regression">
<packages>
<package name="scripts"/>
</packages>
</test>
</suite>
注意:由于某种原因,这里跳过了大约 57 个测试。例如其中之一是addMsd
- 对于某些类,如果类有 3 个测试,则只执行 2 个
- 对于某些类,会跳过整个类文件(具有单个或多个测试)
如果我添加一个附加参数并添加一个测试(通常与上面的 XML 一起跳过),那么它会成功执行:
`<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Regression">
<test name="Regression">
<packages>
<package name="scripts"/>
</packages>
</test>
<test name="test">
<classes>
<class name="scripts.CalculateMSD">
<methods><include name="addMsd"/></methods>
</class>
</classes>
</test>
</suite>`
在这里,addMsd 将被成功执行(在第一个 xml 中会被跳过)
我尝试使用 IntelliJ testng 插件(右键单击 > 运行)和 maven surefire 插件运行测试,并在两种方法中观察到相同的行为。
我无法弄清楚 XML 或项目设置可能有什么问题。任何指针都会有所帮助!