1

我正在尝试使用 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

  1. 对于某些类,如果类有 3 个测试,则只执行 2 个
  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 或项目设置可能有什么问题。任何指针都会有所帮助!

4

0 回答 0