簡體   English   中英

如何使用 Maven 多模塊在項目外執行 TestNG 測試用例

[英]How to execute a TestNG test case outside a project, using Maven Multi module

我正在開發一個多模塊 maven 項目。

我的項目結構如下 -

父模塊(打包 - pom)
BaseFramework (打包 - jar)
TestProject (Packaging - jar) (在項目的 pom.xml 中添加 BaseFramework 作為依賴項)
TestRunner (Packaging - jar) (在項目的 pom.xml 中添加 BaseFramework 和 TestProject 作為依賴項)

TestProject有一個testNG.xml 文件,它執行指定的 class 的測試用例。 測試用例使用數據提供者和路徑作為相對路徑( ./src/main/resources/pmRolDetailsWithId.xml)

TestRunner項目有一個 Suite Runner 文件(比如說 SuiteRunner.xml),其中包含來自(TestProject)的 testNG.xml 的路徑。

執行時,測試會嘗試在 TestRunner 項目中查找“pmRolDetailsWithId.xml”文件。 路徑 - /TestRunner /src/main/resources/pmRolDetailsWithId.xml 並且找不到該文件。

預計它應該從TestProject獲取文件。 即路徑應該是/TestProject /src/main/resources/pmRolDetailsWithId.xml

我認為當測試控制從 TestRunner Project - TestProject 進入時,根項目沒有改變

如果我遺漏了什么,請糾正我並幫助我解決這個問題。

附上錯誤截圖。

錯誤截圖

我找到了答案。

我不得不改變我給出文件相對路徑的方式。

較早 -文件路徑 - /src/main/resoruces/pmRolDetailsWithId.xml

並且由於執行是從不同的模塊觸發的,所以完整的路徑是
/users/xyz/Parent-Module/TestRunner/src/main/resoruces/pmRolDetailsWithId.xml

已更改 -文件路徑 - ../TestProject /src/main/resoruces/pmRolDetailsWithId.xml

現在完整的路徑是 /users/xyz/Parent-Module/TestRunner/../TestProject/src/main/resoruces/pmRolDetailsWithId.xml

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM