2013-03-11 75 views
2

以下问题: 我们在单元测试中使用嘲讽库Moq。因此我们有一个InternalsVisibleTo属性给DynamicProxyGenAssembly2。此外,我们混淆我们的程序集。问题来了 - 由于DynamicProxyGenAssembly2的原因,我们的所有内部接口和类都不再被混淆。.Net - 嘲讽和混淆

据我所看到的大多数嘲笑库使用DynamicProxyGenAssembly2。即使他们不这样做,我不认为有没有InternalsVisibleTo可以模仿内部接口的模拟库。

你有人有同样的问题,你是如何解决它的。我想用嘲弄和混淆 - 这可能吗?

问候,Yggdrasil。

编辑

这是可能的,如果嘲讽组件是开源的,不转发上再次需要访问这些接口的第三方组件。比我们可以在我们的构建过程中包含模拟组件,它会与我们的组件一起混淆。有这样一个开源的嘲笑系统吗?

回答

2

也许你可以有2个构建配置,一个未混淆进行单元测试,一个发布配置与所有安全功能。 InteralsVisibleTo属性仅用于第一个配置。

+0

正是我在想什么。为什么在测试之前你会混淆代码?太疯狂了。 – Steven 2013-03-11 13:08:05

+0

我们故意这样做以查看单元测试是否也可用于混淆程序集。 – Yggdrasil 2013-03-11 13:24:06

+0

我不认为这是可能的。这将像校对加密书一样。它可以是可读或加密的,但不能同时存在。 – nvoigt 2013-03-11 13:45:31