单元测试场景 - 如何测试?

时间:2010-11-01 11:12:10

标签: c# .net unit-testing nunit

我编写了自己的设置管理器,序列化由BinaryFormatter提供。这很酷,因为它可以加载并保存缺少/添加属性的类,我可以在missing属性中定义默认值。但我有问题用单元测试来测试它。

我自己这样做。如何自动执行此方案?

  1. 使用1个属性编写课程。
  2. 由我的设置管理器序列化此类。
  3. 在运行新测试之前:

    1. Manualy编辑类并添加新属性,因此我们有两个属性。新的一个在[OnDeserialized]方法中设置了默认值。
    2. 重建新课程后运行全新测试。
    3. 类从二进制文件反序列化。
    4. 新属性具有默认值。
    5. 它就像一个魅力,但我不想自己这样做。我需要一些自动测试。

      请不要质疑我的架构,关注我的问题。

      可行方式: Reclection?其他课程?名称空间怎么样?

2 个答案:

答案 0 :(得分:3)

您可以为序列化创建两个类,为反序列化创建一个类,并在反序列化到另一个类时使用SerializationBinder

答案 1 :(得分:1)

如果您的类很简单,您可以动态编译它们,加载程序集,执行序列化,卸载程序集。编译“更新”类,重新加载程序集并测试反序列化。

也许this link可以让你开始!