boholder / boholder.github.io

BoHolder's site: about my crafts,thought,etc Powered by [Hugo], theme is [hugo MemE]
4 stars 0 forks source link

blogs/unit-test-methods/ #2

Open utterances-bot opened 3 years ago

utterances-bot commented 3 years ago

单元测试的不同方式 | BoHolder的网站:博客,小玩意及其他

对运行时间的测试,基于用例的测试,基于特性的测试

https://boholder.github.io/blogs/unit-test-methods/

boholder commented 3 years ago

在PBT中,想真正把主观因素从编写的测试中剔除是非常费脑子的。比如你可能需要自己写领域特定的模型的测试用例生成器,等等,你怎么知道测试用例生成器中调用的(你自己写的)构造函数不仅没出错,而且生成器本身能生成所有状态的用例(尤其针对充血模型,纯DTO不含逻辑的贫血模型就没这个考虑)?你需要多写一些PBT用例去论证构造函数和这个生成函数本身的有效性。

如果你感兴趣,这篇文章节选自一篇论述PBT的论文,用Java(jqwik库)替代了原论文中Haskell (QuickCheck库) 用例,逐步论证如何对一个二叉搜索树模块进行完备的PBT测试。这篇文章很长很费脑子,不愧是从论文中抽出来的。 https://johanneslink.net/how-to-specify-it/

本文里提到的这篇PBT模式文章,其实就是从那篇论文里总结出来的。 https://blog.ssanj.net/posts/2016-06-26-property-based-testing-patterns.html