如何对转换库进行unit testing?

我刚开始用C#进行unit testing。
我已经阅读了很长一段时间的unit testing,我已经在使用NUnit,但这是我第一次真正尝试为真实代码编写真正的测试。

但我的问题是:
我很难想出能够实际测试的东西。

我想测试的项目是一个转换库(将POCO列表转换为ADO Recordsets)。

到目前为止,我只想测试两件事:

  • 如果记录集完全存在(不是空,不是空)
  • 如果每个字段的内容相同( – >如果RS!Foo == POCO.Foo

所以,我的问题是:

  • 当我的代码只将A转换为B时,我还能测试什么?
  • 或者这个项目是否太小/太简单/不是一个很好的例子来编写一些有意义的unit testing?

有很多东西需要测试。 我还建议考虑并可能validation:

  • POCO私有字段无法正确映射
  • 列表中的无效条目正确抛出exception
  • 记录集长度是正确的
  • POCO中的inheritance按需要处理(即:基类成员按预期映射)

添加转换测试用例,您可以在其中了解确切的输入和输出。 然后测试代码是否完全产生了答案。

试试Microsoft的Pex工具。 它在分析您的代码后生成unit testing。 只需快速安装Visual Studio插件即可。 然后右键单击要测试的类/方法,并在上下文菜单中获取Pex以生成所有可能的代码路径。