我是 JustMock 模拟框架的新手,我正在尝试模拟一个私有方法。我完全知道对私有方法进行单元测试是一种通常不好的做法,但在这种情况下,我别无选择。我一直在查看官方文档(http://www.telerik.com/help/justmock/advanced-usage-mocking-non-public-members-and-types.html),但似乎没有任何效果。
这是我的示例代码:
using System;
using Telerik.JustMock;
public class Program
{
public class Foo
{
public void useA()
{
a();
}
private void a()
{
Console.WriteLine("AAAAAAAAAAAAAAA");
}
}
public static void Main()
{
var mockeClass = Mock.Create<Foo>(Behavior.CallOriginal);
Mock.NonPublic.Arrange(mockeClass, "a").DoInstead(() => Console.WriteLine("Mock success!!!"));
mockeClass.useA();
}
}
这是错误日志:
Run-time exception (line 21): The type initializer for 'Telerik.JustMock.Core.Context.MockingContext' threw an exception.
Stack Trace:
[System.Security.SecurityException: Request for the permission of type 'System.Security.Permissions.FileIOPermission, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed.]
[System.TypeInitializationException: The type initializer for 'Telerik.JustMock.Core.Context.MockingContext' threw an exception.]
at Program.Main(): line 21
我只是很困惑为什么它不起作用。