2010-12-14 39 views
0

我正在开发一个Eclipse插件,并使用maven来协调我的源代码结构。为了编译插件我使用tycho扩展名为maven。但是,我想知道如何执行unitest。二进制输出和Eclipse插件测试

我想使用surefire插件进行测试,因为我另外使用声纳服务器进行源代码质量管理。如果我使用eclipse-test-plugin作为包目标,则应用Unitest。不过,我想使用默认的surefire插件来应用unitests。

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

由于我是Eclipse插件开发和maven的新手,我无法找到如何将测试写入正确的输出文件夹。我已经尝试添加和更改eclipse-plugin项目的build.properties。对于其他不是插件项目且不使用tycho的项目来说,它也可以工作。

任何帮助表示赞赏。

问候, 弗洛里安

回答

1

不同于标准行家项目,Eclipse插件/ OSGi包的约定是具有测试驻留在单独的项目。这是因为在OSGi中没有像maven依赖范围“测试”那样的东西。 因此,将您的测试保存在与您的测试代码相同的项目中会迫使您将测试代码/依赖项混淆在一个有效的代码/依赖项中。如你所说,Tycho提供了一个单独的Maven包装类型“eclipse-test-plugin”,你应该使用它来进行专门的测试插件/片段。请参阅https://docs.sonatype.org/display/TYCHO/PackagingTypes

第谷公司不支持驻留在同一项目中的普通单元测试。

+0

感谢您的回答。我想出了如何运行测试,它运行良好,所以我不能将单元测试统计信息添加到Sonar中,但这并不重要。 – Florian 2011-01-12 21:30:50