生成器与CSV处理的测试与实践
1. 生成器相关内容
在测试过程中,我们会遇到一些复杂的数据结构,例如第一个属性 prop_dict_gen() 返回的奇怪数据结构,这使得调试变得困难,因为很难确定输入什么样的数据能得到这样的结果。不过,符号调用能帮助我们查看插入哪些键和值会导致字典出现问题。
借助符号调用,那些因复杂规模或副作用隐藏状态获取方式而难以理解的生成项,能变得更易于调试。就算使用生成器将远程服务器配置到特定状态,符号调用也能让我们知道哪些调用序列可能导致了失败。
现在我们已经掌握了创建各种生成器的工具,可以创建广泛用于模糊测试系统的生成器,也能创建精确测试代码特定不变量的生成器,并且这些方法可以混合使用。但要注意,不要过度使用,不能因为有了一套花哨的工具就滥用。我们有制定属性和构建生成器的策略,但还需要找到在项目中合理使用属性的策略。
以下是一些相关的练习题:
1. 问题1 :哪些函数可用于检查测试运行中生成条目的分布?答案在第316页。
2. 问题2 :哪个宏可用于将常规的Erlang或Elixir函数应用于生成器以对其进行修改?答案在第316页。
3. 问题3 :何时以及为何要使用 ?LAZY 宏?答案在第316页。
4. 问题4 :以下概率生成器创建的树不一定是平衡的:
- Erlang代码 :
超级会员免费看
订阅专栏 解锁全文
3205

被折叠的 条评论
为什么被折叠?



