对于RSPEC的期望,我正在尝试编写一些常用函数
AssertionValue,property_Got,needed_Operator - All is Strings
(expect(property_Got).to include AssertionValue; return) if needed_Operator.include? 'contains'
(expect(property_Got).to eql AssertionValue; return) if needed_Operator.include? 'equals'
(expect(property_Got).to > AssertionValue; return) if needed_Operator.include? 'gt'
等。我需要概括运算符并编写一行代码 - 有人可以提供帮助吗
expect(property_Got).to *Generalize - Send method or args ?* array_Assert[3];
答案 0 :(得分:2)
Rspec如此优秀的测试框架的部分原因在于它鼓励您编写测试,以便其他开发人员可以阅读并理解代码的意图。
在试图重构你的测试以至于他们不再清楚你实际测试的内容时需要权衡。即使该代码已完成,该代码也将属于该类别
(expect(property_Got).to ***GeneralizeOperator*** array_Assert[3]; return) if needed_Operator.include? ***ArraySomethingGeneral*?**
考虑传统方法
expect("string").to include "s"
expect("string").to eq "string"
expect("string").to be > "str"