【问题标题】:maven and unit testing - combining maven surefire plugin AND testNG eclipse pluginmaven 和单元测试 - 结合 maven surefire 插件和 testNG eclipse 插件
【发布时间】:2011-02-26 20:45:05
【问题描述】:

您能分享一下您在 Eclipse 中进行单元测试的方式吗?你使用的是surefire插件、m2eclipse和maven,还是只使用testNG eclipse插件?您是否结合了这些替代方案?

我正在使用 testNG + maven surefire-plugin 并且一年前我一直在使用 testNG eclipse 插件,以便我可以在 testNG 视图中看到结果。然后我开始使用 Maven,但是当我使用 m2eclipse 进行“maven 测试阶段”时,只有控制台输出和肯定报告,我可以在浏览器中检查并选择只能通过以下方式设置的测试套件、测试或测试方法testng.xml。

另一方面,如果您只使用surefire插件并且您有一些关于类路径等的特定设置,您依赖,那么通过testNG eclipse插件运行测试不必与您的代码兼容。使用 surefire 插件,类路径是不同的 - target/test-classestarget/classes - 与使用 testNG 插件,即使用项目类路径。

我刚才说的你怎么看?

是否可以使用 m2eclipse 和 surefire 插件与 testNG eclipse 插件和视图同步“maven 测试”?

已编辑:我也想知道,为什么 Maven 项目(“Java 构建路径”)输出文件夹是 target/classes 用于 src/mainsrc/test 而surefire 插件在两个位置 target/test-classestarget/classes

非常感谢您的意见。

【问题讨论】:

    标签: java unit-testing maven m2eclipse testng


    【解决方案1】:

    丽莎,

    您可以配置 TestNG Eclipse 插件以“监视”测试输出目录。将其指向 target/surefire-reports,您应该会在 Maven 构建终止几秒钟后看到您的 TestNG 视图自行更新。

    【讨论】:

    • 它不起作用 Cedric...我将“target/surefire-reports”的绝对路径放入输出目录并检查了 Absolut output path 选项,并在“maven test”阶段之后结束,testNG 视图中什么也没有出现...
    • 我刚刚推送了一个新版本的 Eclipse 插件,它应该可以解决您看到的问题。
    【解决方案2】:

    我看到了使用 surefire 插件的两个优点:

    • 只依赖eclipse插件 当每个人在 项目使用eclipse
    • Surefire 插件 可以从完成的构建运行 持续集成服务器 (“詹金斯”)

    如果您有更大更长时间运行(性能)的测试套件,您可能不想在它们运行时“阻塞”您的 IDE。

    【讨论】:

    • 谢谢 Heiko,我对如何将两者结合起来更感兴趣。我知道surefire插件的优点是什么,但我也知道不使用testNG eclipse插件的缺点是什么。效果太差了
    • 丽莎,看看我的评论,我认为它准确地描述了你的需要。
    【解决方案3】:

    我不认为你所说的不同运行时类路径是真的,我只是检查了自己的 maven 类路径和通过 testNG eclipse 插件运行测试时的类路径,两者都是相同的。我认为 m2eclipse 插件会处理它。即使对于 junit 测试也是如此。

    所以 afaik,使用 testNG eclipse 插件进行开发和使用surefire 插件(例如 Heiko Rupp 提到的持续集成)没有任何限制。至少我从来没有遇到过任何麻烦。

    两者都随你喜欢,干杯!

    【讨论】:

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