NSubstitute完全手册(十六)设置out和ref参数

通过使用 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 完全手册

posted @ 2013-05-22 12:54  sangmado  阅读(1661)  评论(0编辑  收藏  举报