DynamicProxyGenAssembly2

DynamicProxyGenAssembly2

我将Moq用于单元测试。要测试内部接口(interface),我必须向DynamicProxyGenAssembly2程序集声明InternalsVisibleTo属性。

我们对测试进行混淆处理,这很有用,因为使用这种方法可能会发现混淆问题。由DynamicProxyGenAssembly2程序集引起的,我的组件没有被混淆。

因此,我需要知道什么是DynamicProxyGenAssembly2程序集?我在磁盘上的任何地方都找不到它。是将其编译到moq.dll中还是在运行时生成?也许如果我知道该程序集是什么,我们就可以找到解决问题的方法。有人遇到过同样的问题吗?

请不要建议我们需要运行我们的测试。在这一点上这是没有选择的。

编辑

DynamicProxyGenAssembly2在运行时生成。为了满足Dotfuscator的要求,在Moq旁边放了一个空的dll。此外,我们还必须修改CaSTLe.Core dll以使用您的公钥。我们遇到的最后一个问题是here。这样,我们就可以毫无问题地进行所有混淆测试。

问候,伊格德拉西尔。

最佳答案

DynamicProxyGenAssembly2是由使用诸如Moq或NSubsitute之类的CaSTLeProxy的模拟系统构建的临时程序集。它是在需要模拟时生成的,并在测试完成后丢弃。

至于Expose Internals方法,有一种RhinoMocks解决方案可以以最少的更改适用于您的最小起订量:

http://ayende.com/Wiki/Rhino+Mocks+-+Internal+Methods.ashx?AspxAutoDetectCookieSupport=1

10-06 02:26