使用 Rhino Mocks :
var list = MockRepository.GenerateMock<List<Foo>>();
list.Expect(e => e.Any(Arg<Func<Foo, bool>>.Is.Anything)).Return(false);
它抛出
ArgumentNullException:值不能为null。参数名称:谓词
我怎么写得好呢?
答案 0 :(得分:1)
方法Any
是Extension
方法,这意味着该方法是static
方法。您无法使用static
假冒Rhino Mocks
方法。
将这样的期望置于断言中是一个常见的错误。
实际上你不必伪造List
(它是一个DS,这意味着行为不会影响测试),只需创建一个真实类的实例并使用它,然后验证空列表的流程表现正确。(对应该发生的事情做Assert
)