MAC下基于maven使用IDEA走读TestNG源码解析
之前用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源码的资料请关注我们其它相关文章!