我正在使用属性“data”的类“Example”,它具有私有的setter,我想模拟该数据属性
Public class Example { public string data {get; private set;}}
我想使用NSubstitute来模拟数据属性。有人可以帮我怎么做。
答案 0 :(得分:15)
NSubstitute只能在具体类上模拟abstract
或virtual
方法。如果您可以修改底层代码以使用接口,那么您可以模拟接口:
public class Example : IExample { public string data { get; private set; } }
public interface IExample { string data { get; } }
[TestMethod]
public void One()
{
var fakeExample = NSubstitute.Substitute.For<IExample>();
fakeExample.data.Returns("FooBar");
Assert.AreEqual("FooBar", fakeExample.data);
}