繁体   English   中英

NSubstitute Mocking 表达式和参数

[英]NSubstitute Mocking Expressions along with params

我有一个名为 TestClass 的以下 class 和一个 function。

在测试类中

 public virtual async Task<IEnumerable<T>> GetAll(Expression<Func<T, bool>> predicate, params Expression<Func<T, object>>[] includes)

这就是我尝试使用 NSubstitute 模拟上述方法的方式。

  _testClass.GetAll(Arg.Any<Expression<Func<Animal, bool>>>()).Returns(new List<Animal>(){new Animal(), new Animal()});

它符合要求,但调用时的模拟方法不包括集合中的两个 Animal object,因为集合长度为零。 我有一种感觉,因为我不是 mocking 参数部分,这就是发生此问题的原因。 任何人都知道如何正确地嘲笑它?

破解它。

以下是您应该如何操作。

  test.GetAll(Arg.Any<Expression<Func<Animal, bool>>>(),Arg.Any<Expression<Func<Animal,object>>>())
            .Returns(new List<Animal>(){new Animal(), new Animal()});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM