我们有一个相当大的Eclipse RCP应用程序,不确定如何正确测试它的插件。如何高效地进行JUnit测试Eclipse RCP插件
- 对于每个插件,都有一个包含单元测试的测试片段。
- 对于较小的测试,不需要运行RCP平台,我们只需调用“标准”JUnit测试运行器即可。
- 对于测试,需要在RCP平台,有使用JUnit插件测试运行,以测试它的可能性。
- 对于JUnit的插件测试,它可以定义当RCP平台启动的插件被加载。
问题:运行JUnit插件测试需要花费大量的时间(秒而不是millicseconds简单的JUnit测试)和资源,因为RCP平台和所有插件需要启动。
问题:如何有效地最小化为测试运行的插件? 我有哪些选择可以最大限度地减少对RCP平台的依赖(例如首选项服务和扩展点)? 是否有一些Mocking库或至少一些嘲笑RCP平台服务的最佳实践?
现在我不能想象做了JUnit插件测试运行一些体面的TDD,它只是需要太长时间来执行这些测试。
任何有关该主题的建议和经验非常受欢迎!
不错的答案。在Robert Martin的其中一本书中提出了一个核心建议:*在可能的情况下,编写POJO,以便您可以正确地单元测试其逻辑*。 – GhostCat
感谢您的贡献!我同意,我正试图让平台尽可能地摆脱一切。不幸的是,我不是唯一编写代码的应用程序;)应用程序模型,平台和首选项/ UI的封装对许多类都不是真的。重构优化可测试性是很危险的,因为代码没有经过适当的测试;)并且从经验上讲,它们有时会产生奇怪的副作用并破坏事物。 – kerner1000