如果我試試這個,我剛剛得到一個異常:如何使用NMock2模擬內部接口?
System.TypeLoadException : Access is denied: 'Namespace.IInternalInterface'.
使得界面大衆不是一個可接受的解決方案。我不想改變API的可見性來測試它。
如果我試試這個,我剛剛得到一個異常:如何使用NMock2模擬內部接口?
System.TypeLoadException : Access is denied: 'Namespace.IInternalInterface'.
使得界面大衆不是一個可接受的解決方案。我不想改變API的可見性來測試它。
我發現這個問題的答案:
NMock2,(和其他嘲諷框架)。將在動態生成的程序集中創建模擬對象。爲了讓模擬框架創建模擬對象,內部組件應該對這些組件可見。
只需添加下面的聲明到的AssemblyInfo.cs類被測模塊:
// Allow unit test and mock assemblies to see internal members.
[assembly: InternalsVisibleTo("MyAssembly.UnitTest")]
[assembly: InternalsVisibleTo("NMock2")]
[assembly: InternalsVisibleTo("Mocks")]
[assembly: InternalsVisibleTo("MockObjects")]
發現和證實的解決方案。
http://www.rhyous.com/2012/05/03/nmock2-internal-interface/
原來,NMock2的新版本(我在這裏:NMock2 Project)只需要一個,它是不同的。
這是否適合您?經過多次嘗試,我放棄了,並將類型改爲公開。 – nolith 2012-03-10 18:03:57
我無法得到這個工作。 – Rhyous 2012-05-03 21:04:10