2011-11-01 70 views
3

我刚刚开始用C#进行单元测试。
我一直在阅读关于单元测试的很长一段时间,而且我已经在玩NUnit,但这是我第一次尝试为实际代码编写真正的测试。如何单元测试转换库?

但我的问题是:
我很难想出我可以测试的东西。

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

到目前为止,我想出了只有两件事情进行测试:

  • 如果记录存在的话(不为空,不为空)
  • 如果每个字段的内容是一样的( - >如果RS!Foo == POCO.Foo

所以,我的问题是:

  • 我还能测试时,我的代码菊st转换A到B?
  • 或者这个项目太小/太简单/不是一个很好的例子来写几个有意义的单元测试吗?

回答

3

有很多事情要测试。我也建议考虑和潜在的验证:

  • POCO私人领域不正确通过
  • 在列表中抛出异常的无效条目映射正确
  • 记录长度是正确的
  • 在POCO继承根据需要处理(即:基类成员按预期映射)
1

添加转换测试用例,您知道确切的输入和输出。然后测试代码是否准确地产生了答案。

+0

一个测试用例没有做出很好的单元测试。 –

+0

@JimMischel - 实际上,不,一个非常好的测试用例*是一个很好的单元测试。但是我认为你的意思是说一个测试用例不会构成一个很好的测试*套件*。同意。但是,这只是为了表明他可以测试代码的一种方式。如果他做出未来的改变,它也将作为回归测试的双倍。 –

0

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