我正在开发一个Maven插件,我意识到我不知道如何为它编写单元测试,因为我不知道如何运行插件的功能,只是运行Maven。其他Maven插件开发人员如何管理他们的代码测试?
答案 0 :(得分:1)
您还需要接受(或端到端)测试。 maven-invoker-plugin在这种测试中会有很大的帮助。
答案 1 :(得分:0)
您应该尝试尽可能多地分离核心功能,以便直接使用可模拟接口而不是Maven API。这样,您就可以单独测试该功能与环境。
E.g。如果您在执行期间从文件中读取数据,则应该在类中注入Reader
而不是让它自己打开文件。然后一个单独的类可以在现实生活中初始化输入流,但在单元测试中,您可以提供预加载了所需字符串的StringReader
。
当然,您还需要集成测试 - 通过调用Mojo类上的execute()
可以最简单地运行这些测试。