试图让一个非常简单的测试场景工作,让我的头靠在墙上.我确定我错过了一些非常简单的东西!
无论我做什么,当我对我的DLL运行测试时,我似乎从NUnit gui中得到以下错误: System.TypeLoadException:从程序集'DynamicProxyGenAssembly2输入'Castle.Proxies.ITestProxy',Version = 0.0.0.0,Culture = neutral, PublicKeyToken = null'正在尝试实现无法访问的接口.
现在,我在堆栈溢出和其他地方看到大量地方引用了这个错误,但我一直找到的解决方案似乎没有帮助.而且我现在甚至没有使用内部接口!我在这个地方看到的解决方案也在AssemblyInfo.cs中添加了以下行
[assembly:InternalsVisibleTo("DynamicProxyGenAssembly2")]
我正在使用:
要重新创建此错误,我需要做的就是:
这是我的测试类的内容
namespace MoqTest {
[TestFixture]
public class Testing {
[Test]
public void TestMethod() {
var testMock = new Mock<ITest>();
testMock.Setup(x => x.TestMethod()).Returns("String val");
var xyz = testMock.Object;
Assert.AreEqual(1, 1);
}
}
Run Code Online (Sandbox Code Playgroud)
}
----更新--- 将Moq版本从4.10810.8更改为4.0.10501.6后一切正常!