Ygg*_*sil 13 obfuscation unit-testing moq
我使用Moq进行单元测试.要测试内部接口,我必须将InternalsVisibleTo属性声明为DynamicProxyGenAssembly2程序集.
我们运行我们的测试模糊,这很有用,因为我们可以通过这种方法找到一些混淆问题.由DynamicProxyGenAssembly2程序集引起,我的组件不会被混淆.
因此,我需要知道DynamicProxyGenAssembly2程序集是什么?我在磁盘上的任何地方都找不到它.它是编译成moq.dll还是在运行时生成?也许如果我知道这个集会我会找到解决问题的方法.有人遇到过同样的问题吗?
请不要建议我们需要运行我们的测试unobfscated.在这一点上,这是没有选择.
编辑
DynamicProxyGenAssembly2在运行时生成.为了满足Dotfuscator,在Moq旁边放了一个空的dll.此外,我们必须修改Castle.Core dll以使用您的公钥.这里回答了我们遇到的最后一个问题.有了这个,我们可以毫无问题地运行我们所有的测试.
此致,Yggdrasil.
Cha*_*IIC 19
DynamicProxyGenAssembly2是一个临时程序集,由使用CastleProxy的模拟系统构建,如Moq或NSubsitute.它是在需要模拟时生成的,并在测试完成后进行处理.
至于Expose Internals方法,有一个RhinoMocks解决方案适用于你的Moq,只需要很小的改动:
http://ayende.com/Wiki/Rhino+Mocks+-+Internal+Methods.ashx?AspxAutoDetectCookieSupport=1
| 归档时间: |
|
| 查看次数: |
7610 次 |
| 最近记录: |