要一起运行它们,几乎没有可用的选项,但是我选择为Junit和TestNG使用不同的配置文件。但是现在的问题是排除和包含测试用例。
由于如果我们在Maven的主项目中添加testNG依赖项,它将跳过所有Junit,因此我决定将其放在单独的配置文件中。所以我使用pom.xml中的以下条目从默认(主要)配置文件中排除了TestNG测试:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.0.2</version>
<configuration>
<source>1.5</source>
<target>1.5</target>
<testExcludes>
<testExclude>**/tests/**.*</testExclude>
<testExclude>**/tests/utils/**.*</testExclude>
</testExcludes>
</configuration>
</plugin>
与surefire插件相同。因此,它可以与主配置文件配合使用,并且仅执行Junit4测试。但是当我使用testNG配置文件时,它甚至不会编译它们也不会执行testNG测试。我正在使用以下配置文件执行它们。
<profile>
<id>testNG</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.5</source>
<target>1.5</target>
<testIncludes>
<testInclude>**/tests/**.java</testInclude>
<testInclude>**/tests/utils/**.*</testInclude>
</testIncludes>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<skip>false</skip>
<includes>
<include>**/**.class</include>
<include>**/tests/utils/**.class</include>
</includes>
</configuration>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>5.8</version>
<scope>test</scope>
<classifier>jdk15</classifier>
</dependency>
</dependencies>
</profile>
有人知道为什么不包括它们并重新编译吗?
编译器插件的配置不包含TestNG类型。配置文件中的配置与默认配置合并,因此您有效的编译器配置为:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.5</source>
<target>1.5</target>
<testIncludes>
<testInclude>**/tests/**.java</testInclude>
<testInclude>**/tests/utils/**.*</testInclude>
</testIncludes>
<testExcludes>
<testExclude>**/tests/**.*</testExclude>
<testExclude>**/tests/utils/**.*</testExclude>
</testExcludes>
</configuration>
</plugin>
这意味着您的TestNG类型不会被编译,因此不会运行。
如果在testNG配置文件中指定
<testExcludes>
<testExclude>dummy</testExclude>
</testExcludes>
问题内容: 今天,我一直在尝试寻找一个合适的解决方案来建立一个既包含Java代码又包含Scala代码(它们之间具有双向依赖性)的maven项目。 我发现的解决方案通常包括在该阶段调用scala-maven-plugin或maven-scala- plugin,以便它在默认的maven编译器插件之前运行(示例:http : //www.hascode.com/2012/03 /片段混合- 斯卡拉的J
我尝试运行,结果是: ================================================== 默认测试 按照这些步骤,我在Maven的中添加了、和依赖项。 在执行testsuite时,将创建以下文件夹(用红框标记)。 正如预期的那样,ReportNG应该创建了一个输出文件夹,在我的场景中没有注意到这一点。其次,结果不同。 操作系统:Windows 7 guice.ja
问题内容: 我必须在同一Maven项目中使用注释处理(apt)和AspectJ。 两者都适合自己,但是我需要基于apt创建的代码来创建方面。因此,我需要进行二进制编织(原始源文件由apt扩展)。如何在Maven项目中启用二进制编织? 我知道唯一的标准选项是使用weaveDependencies参数提供依赖关系,但这太糟糕了。还有其他办法吗? 好的,我可以使用Maven Antrun插件嵌入Aspe
问题内容: 如何在Eclipse中创建一个简单的Maven项目。每次创建项目时都会出现错误。 错误说明资源路径位置类型CoreException:无法计算构建计划:插件org.apache.maven.plugins:maven- compiler-plugin:2.3.2或其依赖项之一无法解析:无法读取组织的工件描述符。 apache.maven.plugins:maven- compiler-
我需要在docker中运行selenium测试用例。我引用的多篇文章都是一样的。我可以在docker中运行测试用例,它只设置了selenium。但我的项目是maven build,我想在docker中运行。 项目设置: 使用Java的Selenium webdriver 我从几篇有用的文章中了解到: 需要创建测试用例jar 但是我无法使这个设置工作。
我是Maven和Jenkins的新手,所以请耐心等待我... 我有一个Maven项目,当我从项目文件夹中运行mvn install时,它可以正确构建,但是当我尝试通过Jenkins构建时,根本无法解决任何依赖项。我是否在我的 Maven 或 Jenkins 设置中遗漏了某些内容/搞砸了某些内容? 项目POM和. m2/settings.xml如下... pom.xml .m2/设置.xml