2010-11-01 245 views
2

我寫了我自己的設置管理器,序列化由BinaryFormatter提供。它很酷,因爲它可以加載和保存缺失/添加屬性的類,我可以在缺失的屬性中定義默認值。但我有單元測試來測試它的問題。單元測試場景 - 如何測試?

我是這樣做的。如何自動執行此方案?

  1. 寫一個屬性的類。
  2. 由我的設置管理器序列化這個類。

運行新的測試之前:

  1. Manualy編輯類,並添加新的屬性,所以我們有兩個屬性。在[OnDeserialized]方法中設置了默認值的新的。
  2. 重建新班後運行全新的測試。
  3. 類從二進制文件反序列化。
  4. 新屬性具有默認值。

它的作品像一個魅力,但我不想自己做這件事。我需要一些自動測試。

請不要質疑我的架構,關注我的問題。

可能的解決方法: Reclection?其他班級?怎麼樣命名空間?

回答

3

您可以創建兩個用於序列化的類和一個用於反序列化的類,並使用SerializationBinder同時反序列化到另一個類。

+0

Thanx,聽起來不錯! – Simon 2010-11-01 11:52:09

1

如果您的類很簡單,您可以實時編譯它們,加載程序集,執行序列化,卸載程序集。編譯「更新」類,重新加載程序集並測試反序列化。

也許this link讓你開始吧!

+0

是的,這也可以工作!感謝名單! – Simon 2010-11-01 11:52:29