【问题标题】:How to create custom files from tests in Maven如何从 Maven 中的测试创建自定义文件
【发布时间】:2013-10-16 13:35:56
【问题描述】:

我有一个用 TestNG 编写并通过 Maven Surefire 运行的测试。在测试中有很多数据库更新和插入,我想创建一个无法执行插入或更新的报告(因为无效数据,或其他原因)。为此,我想创建一个 CSV 文件,我将在其中跟踪 ID 和异常消息。我希望在我的项目(以及所有子项目)的目标目录中创建此文件。如何从 maven 获取配置并使用目录将所有东西放在一起?我不想硬编码文件的路径。

谢谢, 菲利普

【问题讨论】:

  • 我不明白。您运行一个运行 INSERT 或 UPDATE 的 TestNG 测试,对吗?因此,当这些操作之一失败时,您的测试应该失败,不是吗?在这种情况下,故障将直接在 Surefire 测试报告中报告,不是吗?或者您对测试失败和有效操作失败之间的关联有疑问?
  • 问题是,在我从事的这个项目中,以前的开发人员通过单元测试实现了数据库迁移(请不要问我为什么以及是否可以更改它,因为我不能) .所以可能有 50 个测试,每个测试实际上都不是测试,而是从其他 API 接收数据并将它们存储到数据库中。然而,有时数据是错误的,这会导致“测试”失败的异常。我想为这些数据实现一种记录器并继续测试,否则我将被卡住多年运行测试->报告数据错误->再次运行....

标签: java maven testng


【解决方案1】:

您必须反过来思考:Maven 应该推送哪些信息到/用于我的测试(而不是:我如何从 Maven 中提取信息)。 一种选择:在src/test/resources 下创建test.properties 并将outputDirectory = ${project.build.testOutputDirectory} 添加到此文件中。 在你的 pom.xml 中指定

<build><testResources>
  <testResource>
    <directory>src/test/resources</directory>
    <filtering>true</filtering>
  <testResource>
...etc

现在您可以从类路径中读取此文件并在测试中使用它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多