我一直在用我的Silverlight代碼編寫NUnit和Moq一段時間的單元測試。我一直遇到的一個問題與DependencyObjects有關。在Silverlight單元測試中處理DependencyObjects
如果有任何東西是從DependencyObject派生的,那麼我不能在我的測試中實例化它。例如,MouseEventArgs派生自DependencyObject。如果我的代碼使用了這些參數,我不能創建參數有幾個原因......其中之一就是它是一個DependencyObject。
據我所知,DependencyObject的基本構造函數正試圖使用一些不存在的靜態,除非整個Silverlight系統啓動並運行。任何派生自DependencyObject的類的構造都會引發異常。遊民。
我不使用Silverlight Unit Test Framework,因爲它實際上不是單元測試,需要一個UI。我運行需要真正的無頭單元測試。
總而言之,我所想到的最好的方法是包裝這些對象併爲它們提供像ITimelineMarker
這樣的接口,並且我給它們擴展方法來實現它:timelineMarker.ToInterface()
。這很好,我可以嘲笑他們......但我想知道:
有沒有人想出了一個更好的方法來處理Silverlight的單元測試DepencencyObjects?
「派生自DependencyObject的任何類的構造拋出異常」 - 什麼是異常類和錯誤消息? – 2009-05-08 12:22:04