通过使用 Returns() 回调或者 When..Do 语法可以设置 out 和 ref 的参数。

1     public interface ILookup
2     {
3       bool TryLookup(string key, out string value);
4     }

对于上面的接口,我们可以配置其返回值,并设置第二个参数的输出:

 1     [TestMethod]
 2     public void Test_SetOutRefArgs_SetOutArg()
 3     {
 4       // Arrange
 5       var value = "";
 6       var lookup = Substitute.For<ILookup>();
 7       lookup
 8         .TryLookup("hello", out value)
 9         .Returns(x =>
10         {
11           x[1] = "world!";
12           return true;
13         });
14 
15       // Act
16       var result = lookup.TryLookup("hello", out value);
17 
18       // Assert
19       Assert.IsTrue(result);
20       Assert.AreEqual(value, "world!");
21     }

NSubstitute 完全手册

相关文章:

  • 2021-09-22
  • 2021-09-02
  • 2021-06-21
  • 2021-10-14
  • 2021-05-21
  • 2021-05-19
  • 2022-02-28
  • 2021-09-08
猜你喜欢
  • 2021-06-23
  • 2021-12-16
  • 2021-10-17
  • 2021-10-22
  • 2021-11-09
  • 2021-05-16
相关资源
相似解决方案