我正在我的公司开展单元测试工作,需要选择一个模拟框架来使用。我以前从未使用过模拟框架。我们已经选择了 Google Test,所以使用 Google Mock 会很好。不过,看了Google Mock 的教程后,我的初步印象是:
- 使用 MOCK_METHODn 宏重新声明模拟类中的每个方法似乎没有必要,而且似乎违背了 DRY 原则。
- 它们的匹配器(例如,EXPECT_CALL(turtle, Forward(_)); 中的“_”)和匹配顺序似乎太强大了。就像,很容易说出你不是故意的话,这样会错过错误。
我对 google 的开发者有很高的信心,对自己判断 mocking 框架的能力信心不足,之前没用过。所以我的问题是:这些是有效的担忧吗?
或者没有更好的方法来定义模拟对象,并且匹配器在实践中使用起来是否直观?我会感谢任何以前使用过 Google Mock 的人的回答,并且与其他 C++ 框架进行比较会有所帮助。