测试通用类
本质上,这不仅仅是一个问题,更是一次交流意见的尝试 与其他人。我编写了一个模拟的通用历史类 浏览器历史记录的功能。我正在尝试包裹我的 在为其编写单元测试时,请考虑要走多远。我是 使用 NUnit。请在下面分享您的测试方法。
History 类的完整代码位于此处 (http://pastebin.com/ZGKK2V84)。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
编写一个反映通用类的通用测试类。然后创建另一个测试类,用几个不同的类型参数实例化该测试类(值类型和某种引用类型是一个好的开始)。
Write a generic test class that mirrors the generic class. Then create another test class that instantiates that test class with a couple of different type arguments (a value type and a reference type of some sort are a good start).
在您看来,与非泛型类相比,泛型类的测试有何不同?我没有看到问题:)
只需在单元测试中填写
T
作为某种类型,例如int
,这样你就有了一个History; 的实例。
,然后像平常一样测试该类的所有有趣逻辑。例如,当不存在历史时就无法后退,前进意味着您可以后退等等。通常的东西:) 如果您不确定该怎么做,请阅读一本书或阅读一些单元测试教程。What specifically about it being a generic class makes different to test compared to a non-generic class in your eyes? I fail to see the problem :)
Just fill in
T
in the unit tests as some type, such asint
so you have an instance ofHistory<int>
, and then test all of the interesting logic of the class as normal. E.g. Can't go backwards when no history exists, going forwards means you can move backwards and so on. The usual stuff :) Get a book or read some unit testing tutorials if you're not sure what to do.虽然这个问题有点模糊,但一般来说,对于这样的类,我建议至少测试以下内容:
Although this question is a little vague, in general, with a class like this, I would propose testing the following, at a minimum: