Java testng:为什么我不能基于组运行测试
我想启动所有集成测试(group=inttest),因此我编写了以下xml配置:Java testng:为什么我不能基于组运行测试,java,intellij-idea,testng,Java,Intellij Idea,Testng,我想启动所有集成测试(group=inttest),因此我编写了以下xml配置: <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd"> <suite name="Service Integration Test" parallel="none"> <test verbose="1" name="Service Integration Test"> <groups>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Service Integration Test" parallel="none">
<test verbose="1" name="Service Integration Test">
<groups>
<run>
<include name="inttest.*"/>
</run>
</groups>
</test>
</suite>
但是当从intellij运行时,不会运行任何测试。
如果我添加这样的“类”部分:
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Service Integration Test" parallel="none">
<test verbose="1" name="Service Integration Test">
<groups>
<run>
<include name="inttest.*"/>
</run>
</groups>
<classes>
<class name="com.service.MyTestClass" />
</classes>
</test>
</suite>
然后运行com.service.MyTestClass类中包含的组“inttest.*”的所有测试
问题出在哪里?正如您正确地发现的那样,您需要告诉TestNG它应该查找哪些类才能找到您指定的组 如果愿意,还可以指定整个包
至于为什么要运行所有的测试方法,我需要看一下这个类以了解发生了什么。也许您通过在类级别指定@test注释使所有测试方法都属于“inttest”组?谢谢Cedric。我已经解决了关于“所有测试方法都已运行”的问题。指定类时,将按预期启动具有选定组的测试。对于软件包,我应该在尝试使用此功能时出错。它工作得很好。我对组特性的期望太高了:我想如果没有任何包或类,整个代码库都会被用来寻找组匹配。。。