EasyMock允许您创建自己的匹配器,以便您可以指定模拟应该返回某些输入的内容。为此,您需要创建IArgumentMatcher interface的自定义实现。
此界面有两种方法:
boolean matches(Object argument);
void appendTo(StringBuffer buffer)
如果匹配失败,appendTo()
方法用于打印人类可读的消息。为什么要求您将消息附加到StringBuffer而不是简单地返回一个String?为什么不在接口上使用以下方法呢?
String message();
答案 0 :(得分:3)
StringBuffer
这里实际上是个不错的选择。如果您在给定情况下使用多个匹配器,则StringBuffer
的使用允许一次合并和检索所有消息。
如果您使用void message();
方法,则必须为您关注的每个匹配器调用该方法(这显然是次优的)。