可以pom.xml中被设置为运行TestNG的(UI逆足测试)测试和JUnit(单元测试)分别测试,从命令行?

时间:2019-02-01 13:13:30

标签: maven junit testng

该过程需要在分支请求上进行测试,然后才能批准拉取请求。由于testNG用于UI Selenium测试,而jUnit用于单元测试,因此pom.xml插件必须这样设置:

<plugins>
        <plugin>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>${surefire.version}</version>
            <dependencies>
                <dependency>
                    <groupId>org.apache.maven.surefire</groupId>
                    <artifactId>surefire-junit47</artifactId>
                    <version>${surefire.version}</version>
                </dependency>
                <dependency>
                    <groupId>org.apache.maven.surefire</groupId>
                    <artifactId>surefire-testng</artifactId>
                    <version>${surefire.version}</version>
                </dependency>
            </dependencies>
        </plugin>
    </plugins>

UI测试与哪些必须被在pom.xml中某处定义的测试套件的xml运行(不知道在哪里把该线)。可以设置pom.xml以便单独进行测试吗?例如mvn -DsuiteXmlFile=/path/to/file和`mvn -Dtest = package.with.unit.tests'

1 个答案:

答案 0 :(得分:1)

是的,您可以这样做。你需要使用不同的名称两个独立的TestNG的文件,并在另一个TestNG中和性能测试添加单元测试,你可以从像pom.xml的参数化的:

public abstract class usrBasePrice : PX.Data.IBqlField { }
[PXDecimal(4)]
[PXUIField(DisplayName = "Default Price", Enabled = false)]
public virtual decimal? UsrBasePrice { get; set; }

protected void INKitSpecStkDet_UsrBasePrice_FieldSelecting(PXCache sender, PXFieldSelectingEventArgs e)
{
	INKitSpecMaint invKit = PXGraph.CreateInstance<INKitSpecMaint>();

	INKitSpecStkDet row = e.Row as INKitSpecStkDet;
	if (row != null)
	{
		InventoryItem item = PXSelect<InventoryItem, Where<InventoryItem.inventoryID, Equal<Required<InventoryItem.inventoryID>>>>.Select(invKit, row.CompInventoryID);

		if (item != null)
		{
			INKitSpecStkDetExtension ext = PXCache<INKitSpecStkDet>.GetExtension<INKitSpecStkDetExtension>(row);
			ext.UsrBasePrice = item.BasePrice;
		}
	}
}
相关问题