Esk*_*sko 8 java tdd junit unit-testing
我正在以TDD方式编写JDBC驱动程序的实现(是的,你正确地阅读),虽然我此时只完成了类存根,只有一些小功能,但它只是发生在我身上,因为它Statement是一个超类对于PreparedStatement哪个是超类CallableStatement,当我真正开始为这些类的实现编写测试时应该怎么做,其中一个我应该这样做:
Statement,然后扩展该套件以进行其他测试PreparedStatement,然后执行相同的操作CallableStatement.第二个感觉最自然,但由于我放到第三个的原因,我不确定这样做是否明智.那么,您认为我应该怎么做?
S.L*_*ott 11
"为每个实现类单独测试每个方法"
特别是,未能正确覆盖超类方法是一个常见的错误.子类的作者对超类做出假设.超类发生了变化,子类现在被破坏了.
如果这意味着您将为每个测试子类重复运行相同的测试,那么我将永远不会做替代1(让测试类层次结构与实际的类层次结构相同).我也普遍对继承测试类而不是通用实用程序基类持怀疑态度.
我通常对层次结构中的每个类进行1次测试,抽象与否.所以基类有一个单独的测试(通常有一个测试本地私有子类,用于专门测试它),我使用我的子类知识为每个子类编写适当的测试.我可以在报道中看到缺少测试的内容,所以我通常不会过于正式化.
| 归档时间: |
|
| 查看次数: |
5411 次 |
| 最近记录: |