java - 测试从 IntelliJ IDE 中按预期运行,但从命令行 TestNG 运行时没有
问题描述
当我直接从 intelliJ IDE 测试按预期运行时,我尝试使用 Maven 从命令行运行我的测试,当我尝试运行然后使用mvn test
时,我收到以下消息:
-------------------------------------------------------
T E S T S
-------------------------------------------------------
Running TestSuite
Configuring TestNG with: org.apache.maven.surefire.testng.conf.TestNG652Configurator@34c4973
log4j:WARN No appenders could be found for logger (org.apache.commons.beanutils.converters.BooleanConverter).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
2020-06-29 17:32:49 [ERROR]failed to create 'BaseTest-531000' directory
Tests run: 0, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.99 sec
Results :
Tests run: 0, Failures: 0, Errors: 0, Skipped: 0
这是我的 POM.xml:
<modelVersion>4.0.0</modelVersion>
<groupId>com.takeaway.automation</groupId>
<artifactId>takeaway-project</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<java.version>1.8</java.version>
<testng.version>7.1.0</testng.version>
<awaitility.version>3.0.0</awaitility.version>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>8</source>
<target>8</target>
</configuration>
</plugin>
</plugins>
</build>
<dependencies>
<!-- https://mvnrepository.com/artifact/log4j/log4j -->
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.testng/testng -->
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>${testng.version}</version>
<scope>test</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.httpcomponents/httpclient -->
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.5.12</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-configuration2 -->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-configuration2</artifactId>
<version>2.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/commons-lang/commons-lang -->
<dependency>
<groupId>commons-lang</groupId>
<artifactId>commons-lang</artifactId>
<version>2.6</version>
</dependency>
<dependency>
<groupId>commons-beanutils</groupId>
<artifactId>commons-beanutils</artifactId>
<version>1.9.3</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-core -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.9.8</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.dataformat/jackson-dataformat-yaml -->
<dependency>
<groupId>com.fasterxml.jackson.dataformat</groupId>
<artifactId>jackson-dataformat-xml</artifactId>
<version>2.10.3</version>
</dependency>
</dependencies>
</project>
我的测试在类名下是 HTTPTester.java 在那里我得到了我所有的 testng 测试用例:
src/testjava/com/takeaway/automation/tests/api/HTTPTester.java
解决方案
除非您以其他方式配置它,否则surefire maven 插件期望您的测试位于:
src/test/java/com/takeaway/automation/tests/api/HTTPTest.java
( src/test/java
, 不是src/testjava
和*Test.java
不是*Tester.java
)
在此处查看更多详细信息:https ://maven.apache.org/surefire/maven-surefire-plugin/examples/inclusion-exclusion.html
推荐阅读
- sql - 如何在sql中找到不在正确位置的产品
- ios - PromiseKit:使用不同类型的 Promise 数组调用 when(fulfilled:)
- c# - 尝试将项目添加到 C# 中的类中的列表属性时出现运行时错误
- mysql - ORDER BY FIELD 中使用的 MySQL 字符串
- python-3.x - 如何将 Google Cloud AI Platform Jupyter Lab 升级到 Python 3.7+
- .net - JSON反序列化创建列表
- oauth-2.0 - Facebook OAuth 登录未在 ASP.NET Core 2.2 中获取用户配置文件
- typescript - 在 monorepo 代码共享中创建 React App + Typescript
- opencv - Python:时间拉伸波文件 - 三种方法之间的比较
- ios - SWIFTUI 在 TabView 中隐藏当前视图的 navigationBarBackButton