2014-01-08 64 views
1

所以,我已經開始與MonoGame玩耍,和我注意到的事情之一是,這將是真的很難單元測試。如何在C#嘲笑第三方組件(新華社/ MonoGame)

可能在微軟假貨中使用類似墊片的東西,但由於此博客指出http://blog.pluralsight.com/vs11-fakes-framework,它不是真的TDD方式。

我也可以使用像鴨子類型這是完美的一切吧靜態方法,但也有一個巨大的靜態方法...

我可以寫的一切適配器,和我目前這樣做,但我花了大量的時間寫適配器,很少寫實際的代碼,這是令人沮喪的。我能想到的

最後一個選項是生成適配器,這似乎是一個合理的想法,但我找不到任何工具來做到這一點,我的意思是,我很願意寫的東西做的,但它看起來像是可能已經以更好的方式解決的那些問題之一。

任何人有任何想法?

+1

呀,可惜XNA是一個非常可怕的設計,當涉及到單元測試。你可以爲此責備微軟。我也對這個問題的答案感興趣。 – craftworkgames

+0

真的似乎沒有任何解決這個問題的東西,只需要啓動一個開源項目來解決它。這裏是github https://github.com/evalacy/AdapterPatternGenerator –

回答

0

一般的建議是「不要嘲笑你不擁有什麼」和寫,你可以嘲笑爲單元測試代碼和適配器和第三方代碼的一些集成測試適配器。通常你儘量保持儘可能薄的適配器,但在你的代碼依賴於許多切入點在第三方代碼,迫使你寫了許多適配器的情況下,它可能是值得期待的代碼所依賴的中間抽象這可以通過幾個稍微「更厚」的適配器來實現,也就是說,與第三方代碼不是1:1,而是提供一些更高級別的功能。