【问题标题】:How to set Expectation for Linq query如何为 Linq 查询设置期望
【发布时间】:2015-08-28 14:08:18
【问题描述】:

使用Rhino Mocks

var list = MockRepository.GenerateMock<List<Foo>>();
list.Expect(e => e.Any(Arg<Func<Foo, bool>>.Is.Anything)).Return(false);

它抛出

ArgumentNullException:值不能为空。参数名称:谓词

如何写好?

【问题讨论】:

    标签: c# linq unit-testing rhino-mocks xunit


    【解决方案1】:

    Any 方法是 Extension 方法,这意味着该方法是 static 方法。您不能使用 Rhino Mocks 伪造 static 方法。

    将这样的期望用于断言是一个常见的错误。

    实际上你不必伪造List(它是一个DS,这意味着行为不会影响测试),只需创建一个真实类的实例并使用它,然后验证流空列表行为正确。(在应该发生的事情上做Assert

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-03
      • 1970-01-01
      • 2012-02-02
      相关资源
      最近更新 更多