我对Tycho包装类型和项目结构有疑问。我目前有一个项目,其源代码和测试源代码目录遵循典型的Maven约定,该约定是使用包类型'eclipse-plugin'构建的。这导致测试不在maven版本中运行。我能找到的最常见的解决方案是将测试源分离到它自己的项目/包并通过“eclipse-test-plugin”构建它。我的问题:保持Maven约定并将整个项目构建为eclipse-test-plugin有什么缺点?使用Tycho的同一项目中的源代码和测试源
根据http://wiki.eclipse.org/Tycho/Packaging_Types: “第谷引入了新的Eclipse的测试插件封装类型来表示这些项目建设的行为就像是普通的Eclipse插件,但这些都是在测试时间经过特殊处理的。”
这使我相信,除了最终的bundle之外,实际上没有任何缺点,可能取决于测试源只需要的bundle。但是,通过“eclipse-plugin”构建(不分割)也是如此。在这种情况下,将包装类型更改为“eclipse-test-plugin”只能导致在maven版本中运行测试而没有其他副作用,这是否安全?
谢谢您的回复。我了解你所提出的观点,但并不能真正回答我的问题。也许我应该把它转过来。如果我有一个只包含生产代码的项目,它会将它打包为'eclipse-test-plugin'而不是'eclipse-plugin'会产生什么后果? –
您需要将[failIfNoTests](http://www.eclipse.org/tycho/sitedocs/tycho-surefire/tycho-surefire-plugin/test-mojo.html#failIfNoTests)设置为false以使构建该模块通过,但是你会建立一个可以像使用eclipse-plugin构建一样的方式使用的bundle。 – oberlies