如何使用 NSubstitute 模拟 属性 和 private setter
how to mock a property with private setter using NSubstitute
我有一个 class "Example" 和一个 属性 "data" 有一个私有的 setter 我想模拟那个数据 属性
Public class Example { public string data {get; private set;}}
我想使用 NSubstitute 模拟数据 属性。谁能帮我看看怎么做。
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);
}
我有一个 class "Example" 和一个 属性 "data" 有一个私有的 setter 我想模拟那个数据 属性
Public class Example { public string data {get; private set;}}
我想使用 NSubstitute 模拟数据 属性。谁能帮我看看怎么做。
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);
}