![](/img/trans.png)
[英]Running test from different modules using a testng suite in maven multi module project?
[英]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.