场景:
我大约有50个测试用例,我只想运行其中的20个。如何在Maven中实现这一点
答案 0 :(得分:2)
您可以进行分组,该分组在 testng 中可用。设置一组将包含这20种测试方法的组,然后运行该特定组。
让我们为您介绍一个场景:
public class Test1 {
@Test(groups = { "functest"})
public void testMethod1() {
}
@Test(groups = {"functest"} )
public void testMethod2() {
}
@Test(groups = { "functest" })
public void testMethod3() {
}
}
然后在Maven的帮助下调用TestNG:
<test name="Test1">
<groups>
<run>
<include name="functest"/>
</run>
</groups>
<classes>
<class name="example1.Test1"/>
</classes>
</test>
这将在您的testng.xml
文件中完成。
有关组的更多信息,请参见here
另一种解决方法是将@Test(enabled = false)
用于您不想在当前配置下运行的方法。但这将是一件乏味的工作。
希望这会有所帮助。
答案 1 :(得分:0)
您的问题的解决方案是一个逐步的过程:
最初,使用“组”注释属性可以将要运行的测试用例进行分组,如下所示:
示例:
select: function (start, end, jsEvent, view) {
if (start.isBefore(moment())) {
$('#calendar').fullCalendar('unselect');
return false;
}
else {
var currentDate = moment(start).format('YYYY/MM/DD'));
alert(currentDate);
}
}
,然后在TestNG.xml文件中运行特定的组测试用例:
@Test(groups={"groupname"})
一旦完成,maven只是一个构建工具,它使构建与另一个项目保持一致。
需要遵循Maven的构建周期:
1)验证
2)遵守
3)测试
4)包装
5)验证
6)安装
7)部署。
如果您在分组或Maven生命周期步骤中遇到任何障碍,请告诉我,我将为您提供帮助。
答案 2 :(得分:0)
有两种方法,
@cruisepandey 通过使用群组通话进行的解释
限制:这将是静态群组通话,因此,如果您不希望任何群组通话,则每次通话都会呼叫所有群组。而且您需要每次手动进行管理。
通过在TestNG.XML套件中定义指定的测试,
要在Maven中执行选定的Test,您需要在POM.XML中定义目标Test(可以 通过定义类或testng.xml单套件)
如果您不想使用Maven Test运行它,建议使用.XML文件甚至将其作为TestNG套件运行。
如何创建选定的TestNG套件,
按班级:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Suite">
<test thread-count="5" name="Test">
<classes>
<class name="package1.test1"/>
<class name="package2.test2"/>
<class name="package6.test6"/>
</classes>
</test> <!-- Test -->
</suite> <!-- Suite -->
如果要包含包装,则可以按照以下步骤进行操作:
通过软件包:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Suite">
<test name="TesteEmo">
<packages>
<package name="package4"></package>
</packages>
</test> <!-- Test -->
</parameter>
</suite> <!-- Suite -->
将.XML文件调用到POM中:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.22.0</version>
<configuration>
<suiteXmlFiles>
<suiteXmlFile>TestNG.xml</suiteXmlFile>
</suiteXmlFiles>
</configuration>
</plugin>
</plugins>
</build>