EasyMock 允许您创建自己的匹配器,以便您可以指定模拟应该为某些输入返回什么。为此,您创建了他们的 IArgumentMatcher interface 的自定义实现。 .
这个接口(interface)有两个方法:
boolean matches(Object argument);
void appendTo(StringBuffer buffer)
appendTo()
方法用于在匹配失败时打印一条人类可读的消息。为什么它要求您将消息附加到 StringBuffer 而不是简单地返回一个 String?为什么不在界面上使用以下方法呢?
String message();
最佳答案
StringBuffer
这里其实是个不错的选择。如果您在给定情况下使用多个匹配器,则使用 StringBuffer
可以一次合并和检索所有消息。
如果您使用 void message();
方法,您将不得不为您关心的每个匹配器调用它(这显然是次优的)。
关于java - 为什么 EasyMock 的 IArgumentMatcher 接口(interface)使用 StringBuffer?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6254994/