2013-03-11 96 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