MAC下基于maven使用IDEA走讀TestNG源碼解析
之前用Python執(zhí)行程序都是python xxx.py,最近在使用Java技術(shù)棧的TestNG,于是想能夠也用命令行實(shí)現(xiàn)…
創(chuàng)建一個(gè)Maven項(xiàng)目
確保已安裝了Maven,可使用Maven命令后,使用以下命令可快速創(chuàng)建Maven項(xiàng)目
mvn archetype:generate -DgroupId=com.mycompany.app -DartifactId=my-app -DarchetypeArtifactId=maven-archetype-quickstart -DarchetypeVersion=1.4 -DinteractiveMode=false
進(jìn)入項(xiàng)目后,大概是下面的目錄結(jié)構(gòu):
.
├── pom.xml
└── src
├── main
│ └── java
│ └── com
│ └── mycompany
│ └── app
│ └── App.java
└── test
└── java
└── com
└── mycompany
└── app
└── AppTest.java
此時(shí),AppTest.java應(yīng)該還是使用Junit的,需要改成使用TestNG:
在pom.xml里安裝TestNG
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>7.1.0</version>
</dependency>
修改AppTest.java里相關(guān)注解是來(lái)自TestNG的repository
import org.testng.annotations.Test; import static org.testng.AssertJUnit.assertTrue;
配置testng.xml文件
在項(xiàng)目根目錄,新建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里鼠標(biāo)右鍵這個(gè)文件也可以Run,Run的時(shí)候Console里第一行會(huì)打印命令,其中我們需要知道的是 -classpath的內(nèi)容,后續(xù)要用到
命令行運(yùn)行TestNG
- 使用
mvn test可以運(yùn)行 - 使用
java命令運(yùn)行
要先build下項(xiàng)目(即轉(zhuǎn)化為.class文件,我是在idea里使用界面build了,build后可以看到target文件夾生成),接下來(lái)使用命令執(zhí)行:
java -classpath 第三步拿到的classpath內(nèi)容 org.testng.TestNG testng.xml classpath 表示程序會(huì)在這些path下尋找第三方庫(kù)
執(zhí)行結(jié)果:
===============================================
Sample test Suite
Total tests run: 1, Passes: 1, Failures: 0, Skips: 0
===============================================
調(diào)試TestNG源碼
借助IDEA強(qiáng)大的調(diào)試界面,走讀TestNG源碼。由于IDEA自帶的TestNG插件,所以Debug時(shí),走不到TestNG的main方法里,所以需要新建debug Config
如果提示測(cè)試的class no found,需要把target->test-classes路徑添加到 project structure->module->Dependenices

以上就是基于maven使用IDEA走讀TestNG源碼(Mac)的詳細(xì)內(nèi)容,更多關(guān)于maven TestNG源碼的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Java畢業(yè)設(shè)計(jì)實(shí)戰(zhàn)之共享租車信息管理系統(tǒng)的實(shí)現(xiàn)
這是一個(gè)使用了java+Jsp+Servlet+Jdbc+Mysql開(kāi)發(fā)的共享租車信息管理系統(tǒng),是一個(gè)畢業(yè)設(shè)計(jì)的實(shí)戰(zhàn)練習(xí),具有租車管理該有的所有功能,感興趣的朋友快來(lái)看看吧2022-02-02
javaweb實(shí)現(xiàn)簡(jiǎn)易郵件發(fā)送
這篇文章主要為大家詳細(xì)介紹了javaweb實(shí)現(xiàn)簡(jiǎn)易郵件發(fā)送,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-06-06
解決java.sql.SQLException:?validateConnection?false問(wèn)題的方法匯總(最
這篇文章主要給大家介紹了關(guān)于解決java.sql.SQLException:?validateConnection?false問(wèn)題的方法匯總,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下2023-03-03
java命令調(diào)用虛擬機(jī)方法總結(jié)
在本篇文章里我們給大家整理了關(guān)于java中的java命令如何調(diào)用虛擬機(jī)的方法和具體步驟,需要的朋友們跟著操作下。2019-05-05
Spring Security使用多種加密方式進(jìn)行密碼校驗(yàn)的代碼示例
在Web應(yīng)用中,密碼的安全存儲(chǔ)和驗(yàn)證是至關(guān)重要的,本文將通過(guò)一個(gè)具體的代碼示例,介紹和總結(jié)如何在Spring Security中使用多種加密方式進(jìn)行密碼校驗(yàn),文中通過(guò)代碼講解得非常詳細(xì),需要的朋友可以參考下2024-06-06
Java設(shè)計(jì)模式之Prototype原型模式
這篇文章主要為大家詳細(xì)介紹了Java設(shè)計(jì)模式之Prototype原型模式的相關(guān)資料,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-03-03
SpringBoot動(dòng)態(tài)更新yml文件
在系統(tǒng)運(yùn)行過(guò)程中,可能由于一些配置項(xiàng)的簡(jiǎn)單變動(dòng)需要重新打包啟停項(xiàng)目,這對(duì)于在運(yùn)行中的項(xiàng)目會(huì)造成數(shù)據(jù)丟失,客戶操作無(wú)響應(yīng)等情況發(fā)生,針對(duì)這類情況對(duì)開(kāi)發(fā)框架進(jìn)行升級(jí)提供yml文件實(shí)時(shí)修改更新功能,這篇文章主要介紹了SpringBoot動(dòng)態(tài)更新yml文件2023-01-01

