【问题标题】:Binary output and testing for Eclipse pluginsEclipse 插件的二进制输出和测试
【发布时间】:2011-05-25 12:02:48
【问题描述】:

我正在开发一个 Eclipse 插件,我使用 maven 来协调我的源代码结构。为了编译插件,我使用 maven 的 tycho 扩展。但是,我想知道如何执行 unitests。

我想使用 surefire 插件进行测试,因为我还使用声纳服务器进行源代码质量管理。如果我使用 eclipse-test-plugin 作为包目标,则应用单元测试。但是,我想使用默认的surefire插件来应用单元测试。

现在我发现包含我的 unittest 包的 src/test/java 已正确读取和编译,但写入错误的输出文件夹。我需要在目标/测试类中进行测试。但是它们被编译为目标/类。

由于我是 Eclipse 插件开发和 maven 的新手,我不知道如何将测试写入正确的输出文件夹。我已经尝试添加和更改 eclipse-plugin 项目的 build.properties。它也适用于不是插件项目且不使用 tycho 的其他项目。

任何帮助表示赞赏。

问候, 弗洛里安

【问题讨论】:

    标签: maven-2 junit eclipse-plugin surefire tycho


    【解决方案1】:

    与标准 maven 项目不同,Eclipse 插件/OSGi 包的约定是将测试驻留在单独的项目中。这是因为 OSGi 中没有 maven 依赖范围“测试”之类的东西。 因此,将您的测试与被测代码放在同一个项目中会迫使您将测试代码/依赖项与生产性代码/依赖项混为一谈。

    正如您所提到的,Tycho 提供了一个单独的 maven 打包类型“eclipse-test-plugin”,您应该将其用于专用的测试插件/片段。见https://docs.sonatype.org/display/TYCHO/PackagingTypes

    Tycho 不支持驻留在同一项目中的普通单元测试。

    【讨论】:

    • 感谢您的回答。我想出了如何运行测试并且它运行良好,所以我不能向 Sonar 添加单元测试统计信息,但这并不重要。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-07
    • 1970-01-01
    • 1970-01-01
    • 2017-12-21
    相关资源
    最近更新 更多