2

我创建了一个 maven2 Mojo,它检查某些文件类型以查找某些字符串的实例。它设计用于在测试阶段报告这些文件是否有效。

当它找到这些不需要的字符串时,它会输出构建失败警报并使用 MojoFailureException 使 maven 构建失败。

每次编译/安装它时,我都想用这个 Mojo 做一些集成测试。理想情况下,我想象这样一个场景,其中我有几个带有字符串的文件应该使构建失败,然后测试 maven2 输出以断言这些文件失败。在 maven2 mojo 中进行此类测试的最佳方法是什么?

谢谢

4

1 回答 1

0

我会尝试将验证逻辑与文件 I/O 分开,然后使用模拟输入(最好来自字符串,而不是文件)在单元测试中测试逻辑。大部分小规模测试都可以通过这种方式在实际单元测试中完成。

最重要的是,还应该进行集成测试,其中整个 mojo 都使用真实文件进行测试,例如:

MyMojo mojo = new MyMojo();
// set up input files in test directory
// set up mojo properties if needed
mojo.execute();
// assert results
于 2010-02-14T21:10:41.533 回答