如何对转换库进行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以生成所有可能的代码路径。