[英]Can NSubstitute mock the return of a MethodInfo?
我的测试使用了大量的反射。 NSubstitute可以像这样模拟反射属性( PropertyInfo
):
mock
.GetType().GetTypeInfo()
.GetProperty("SomePropertyName")
.GetValue(mock)
.Returns(someReturnValue); // NSubstitute does its thing here
我如何为MethodInfo
做类似的事情?
像这样的东西:
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";
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.