为Maven插件编写单元测试有哪些好的模式或支持装置?

时间:2010-03-24 10:24:33

标签: unit-testing junit plugins maven

我正在开发一个Maven插件,我意识到我不知道如何为它编写单元测试,因为我不知道如何运行插件的功能,只是运行Maven。其他Maven插件开发人员如何管理他们的代码测试?

2 个答案:

答案 0 :(得分:1)

您还需要接受(或端到端)测试。 maven-invoker-plugin在这种测试中会有很大的帮助。

答案 1 :(得分:0)

您应该尝试尽可能多地分离核心功能,以便直接使用可模拟接口而不是Maven API。这样,您就可以单独测试该功能与环境。

E.g。如果您在执行期间从文件中读取数据,则应该在类中注入Reader而不是让它自己打开文件。然后一个单独的类可以在现实生活中初始化输入流,但在单元测试中,您可以提供预加载了所需字符串的StringReader

当然,您还需要集成测试 - 通过调用Mojo类上的execute()可以最简单地运行这些测试。