我有一个使用对象列表的类。你会如何模拟列表?为什么?你是否模拟了List,以便在调用list方法时返回Mock对象。或者您是否使用模拟对象创建列表实例?
下面是一个粗略的代码示例。因此,如果我模拟List,我需要知道列表的使用方式,并在列表的方法上设置正确的返回/期望。要么 使用模拟对象列表,我只需要使用模拟对象设置列表,并断言每个模拟订阅者都被使用了。
我测试每个订阅者都被调用,在我看来后一种方法是正确的,你的观点是什么?
public class Publisher {
private List<Subscriber> subscribers;
public void publish() {
// loop through subscribers
}
}
答案 0 :(得分:3)
模拟List
嘲讽听起来就像是把鲨鱼蹦到我身上。我会说回归List
嘲讽就足够了。
您没有测试List
实施 - 您知道有效。使用它。
答案 1 :(得分:1)
当您想要
在您的情况下,您当然不希望定义List来执行任何特殊行为,您也不想测试List类以按预期执行。所以你不应该创建列表的模拟。
您的测试对象是订阅者。所以你是对的,你需要一个订阅者模拟列表。