我正在模拟一个存储库,该存储库中应该有一个用于测试场景的实体。存储库必须基于已知的ID返回此实体,并且在传入其他ID时不返回任何内容。
我试过这样做:
_myRepository.Expect(item => item.Find(knownId)).Return(knownEntity); _myRepository.Expect(item => item.Find(Arg<Guid>.Is.Anything)).Return(null);
不过,第二行似乎覆盖了第一行,存储库总是返回空值。当测试场景只涉及到一个ID的值时,我不想模拟所有不同的可能被请求的ID(它们可以达到数百个)。
我知道我可以把第二行改为第一行的负数。但是,如果存储库必须为一个测试场景返回多个实体,那么这将变得越来越困难(也越来越难看)。
这对我来说确实有效。我猜你不止一次在寻找你的身份证。尝试将引用的行更改为:
_myRepository.Stub(item => item.Find(knownId)).Return(knownEntity); _myRepository.Stub(item => item.Find(Arg<Guid>.Is.Anything)).Return(null);
让我知道它是否解决了这个问题。