测试通用类

λ J*_*kas 3 c# generics nunit unit-testing

这不仅仅是一个问题,而是试图将笔记与其他人进行比较.我写了一个通用的History类,它模拟了浏览器历史的功能.我正在试图为它编写单元测试时要走多远.我正在使用NUnit.请在下面分享您的测试方法.

History类的完整代码在这里(http://pastebin.com/ZGKK2V84).

Ree*_*sey 8

虽然这个问题有点模糊,但总的来说,对于这样的类,我建议至少测试以下内容:

  • 测试公共API中的每个方法和属性,验证每个方法和属性在添加"真实"数据时是否适当更改内部集合
  • 测试向每个方法添加无效数据(例如,这应该接受空引用吗?),确保您获得适当的异常或您想要的行为
  • 鉴于它是一个泛型类,我会用值类型和引用类型来测试它(除非您决定向一个或另一个添加约束)