我的测试使用了很多反射。NSubstitute可以模拟反射属性(PropertyInfo),如下所示:
mock
.GetType().GetTypeInfo()
.GetProperty("SomePropertyName")
.GetValue(mock)
.Returns(someReturnValue); // NSubstitute does its thing here如何对MethodInfo执行类似的操作?
发布于 2017-01-30 03:02:05
如下所示:
internal class Program
{
private static void Main()
{
var mock = Substitute.For<SomeClass>();
var mi = mock.GetType().GetTypeInfo()
.GetMethod("SomeMethod", BindingFlags.NonPublic | BindingFlags.Instance);
mi.Invoke(mock, null).Returns("xxxxXXX");
Console.WriteLine(mi.Invoke(mock, null)); // -> Write xxxxXXX
}
}
public class SomeClass
{
protected virtual string SomePropertyName { get; set; }
protected virtual string SomeMethod() => "aaa";
}https://stackoverflow.com/questions/41918308
复制相似问题