【问题标题】:How to execute a TestNG test case outside a project, using Maven Multi module如何使用 Maven Multi 模块在项目外部执行 TestNG 测试用例
【发布时间】:2020-04-17 15:41:23
【问题描述】:

我正在开发一个多模块 maven 项目。

我的项目结构如下 -

Parent-Module (Packaging - pom)
BaseFramework (Packaging - jar)
TestProject (Packaging - jar) (在项目的 pom.xml 中添加 BaseFramework 作为依赖项)
TestRunner (Packaging - jar) (添加 BaseFramework 和 TestProject 作为项目的 pom.xml 中的依赖项)

TestProject 有一个testNG.xml 文件,它执行指定类的测试用例。 测试用例使用数据提供者,路径被称为相对路径 (./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 变为时,根项目没有改变

如果我遗漏了什么,请纠正我并帮助我解决这个问题。

附上错误截图。

Screenshot of the error

【问题讨论】:

  • 请将图片中的相关信息添加到帖子中。
  • 添加图片说明。
  • 请将截图替换为实际文字。

标签: java maven testing testng multi-module


【解决方案1】:

我找到了答案。

我不得不改变我给出文件相对路径的方式。

之前 - 文件路径 - /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

【讨论】:

    猜你喜欢
    • 2017-06-17
    • 1970-01-01
    • 1970-01-01
    • 2017-09-30
    • 2010-11-16
    • 1970-01-01
    • 2016-10-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多