之前用Python执行程序都是python xxx.py
,最近在使用Java技术栈的TestNG,于是想能够也用命令行实现…
创建一个Maven项目
确保已安装了Maven,可使用Maven命令后,使用以下命令可快速创建Maven项目
mvn archetype:generate -DgroupId=com.mycompany.app -DartifactId=my-app -DarchetypeArtifactId=maven-archetype-quickstart -DarchetypeVersion=1.4 -DinteractiveMode=false
进入项目后,大概是下面的目录结构:
.
├── pom.xml
└── src
├── main
│ └── java
│ └── com
│ └── mycompany
│ └── app
│ └── App.java
└── test
└── java
└── com
└── mycompany
└── app
└── AppTest.java
此时,AppTest.java应该还是使用Junit的,需要改成使用TestNG:
在pom.xml里安装TestNG
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>7.1.0</version>
</dependency>
修改AppTest.java
里相关注解是来自TestNG的repository
import org.testng.annotations.Test;
import static org.testng.AssertJUnit.assertTrue;
配置testng.xml文件
在项目根目录,新建testng.xml:
<?xml version="1.0" encoding="UTF-8"?>
<suite name="Sample test Suite">
<test name="Sample test">
<classes>
<class name="com.mycompany.app.AppTest" />
</classes>
</test>
</suite>
配置完testng.xml后,在idea里鼠标右键这个文件也可以Run,Run的时候Console里第一行会打印命令,其中我们需要知道的是 -classpath
的内容,后续要用到
命令行运行TestNG
- 使用
mvn test
可以运行 - 使用
java
命令运行
要先build下项目(即转化为.class文件,我是在idea里使用界面build了,build后可以看到target文件夹生成),接下来使用命令执行:
java -classpath 第三步拿到的classpath内容 org.testng.TestNG testng.xml
classpath 表示程序会在这些path下寻找第三方库
执行结果:
===============================================
Sample test Suite
Total tests run: 1, Passes: 1, Failures: 0, Skips: 0
===============================================
调试TestNG源码
借助IDEA强大的调试界面,走读TestNG源码。由于IDEA自带的TestNG插件,所以Debug时,走不到TestNG的main方法里,所以需要新建debug Config
如果提示测试的class no found,需要把target->test-classes路径添加到 project structure->module->Dependenices
以上就是基于maven使用IDEA走读TestNG源码(Mac)的详细内容,更多关于maven TestNG源码的资料请关注编程网其它相关文章!