我正在尝试让maven命令行运行某个组。我注释了我的测试如下:
@Test(priority = 2, groups = "MyGroup")
public void myFirstTest(){};
然后我通过命令行启动测试运行:
mvn clean install test -Dgroups=MyGroup
Aaaaannnndddd什么都没跑。 Maven启动,然后退出说没有测试。像这样:
Tests run: 0, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 38.071 sec - in TestSuite
现在我尝试了一些东西。 1。我尝试放入一个testng.xml文件并添加组名" MyGroup"到文件。然后我在我的pom.xml中引用这个文件:
<suiteXmlFiles>
<!-- command to run "mvn clean test -DsuiteFile=src/test/resources/testng.xml" -->
<suiteXmlFile>src/test/resources/testng.xml</suiteXmlFile>
</suiteXmlFiles>
当我使用命令行重新运行时,它可以工作。现在我知道我们不需要添加一个指定组名的xml文件。由于这是由maven动态制作的,所以我错过了什么。
另外,我在方法覆盖变换器
中放置了一个断点 @Override
public void transform(ITestAnnotation annotation, Class testClass, Constructor testConstructor, Method testMethod) {
annotation.getGroups()始终是一个空数组。这意味着maven没有通过测试组。为什么!!!。我真的没有看到它,并且已经在这里乱砍了几个小时,任何帮助都会非常感激。