我使用 Moq 进行单元测试。为了测试内部接口,我必须向 DynamicProxyGenAssembly2 程序集声明 InternalsVisibleTo 属性。
我们运行模糊测试,这很有用,因为我们可以发现这种方法的一些模糊问题。由于 DynamicProxyGenAssembly2 程序集导致我的组件没有被混淆。
因此我需要知道 DynamicProxyGenAssembly2 程序集是什么?我在磁盘上的任何地方都找不到它。它是编译到 moq.dll 中还是在运行时生成?也许如果我知道这个程序集是什么,我们就能找到解决我的问题的方法。有人遇到过同样的问题吗?
请不要建议我们需要完整地运行我们的测试。在这一点上,这是没有选择的。
EDIT
DynamicProxyGenAssembly2 是在运行时生成的。为了满足 Dotfuscator 的要求,在 Moq 旁边放置一个空的 dll。此外,我们必须修改 Castle.Core dll 才能使用您的公钥。我们最后遇到的问题已经得到解答here https://stackoverflow.com/questions/16669885/raising-obfuscated-events-with-moq-throws-error。有了这个,我们就可以毫无问题地运行所有混淆的测试。
问候,伊格德拉西尔。
DynamicProxyGenAssembly2 是由使用 CastleProxy(如 Moq 或 NSubsitute)的模拟系统构建的临时程序集。它在需要模拟时生成,并在测试完成后丢弃。
至于 Expose Internals 方法,有一种 RhinoMocks 解决方案可以为您的 Moq 解决方案提供最小的更改:
http://ayende.com/Wiki/Rhino+Mocks+-+Internal+Methods.ashx?AspxAutoDetectCookieSupport=1 https://web.archive.org/web/20180718112728/http://ayende.com/Wiki/Rhino+Mocks+-+Internal+Methods.ashx?AspxAutoDetectCookieSupport=1
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)