行为驱动开发与测试工具实践
1. RSpec 测试示例
在行为驱动开发中,我们可以通过一些简单的代码示例来理解测试的重要性。首先,有如下代码:
def edible?
!expired
end
当再次运行 rspec spec 时,所有的测试用例都会通过,输出结果如下:
..
2 examples, 0 failures
接着,我们回到 lib/bacon.rb 文件,将 expired! 方法中的 self. 去掉,代码变为:
def expired!
expired = true
end
此时再次运行 rspec spec ,会发现第二个测试用例失败了:
Failure/Error: Bacon expired!
expected edible? to return false, got true
这表明测试能够帮助我们避免这样的错误。如果先编写测试,然后编写代码使测试通过,就有了一个坚实的基础,之后可以对代码进行重构,使其更清晰或更简洁,并且通过最初编写的测试来确保代码仍然正常工作。如果测试仍然通过,那么通常说明重构是正确的。
我们将 expired! <
RSpec与Cucumber测试实践
超级会员免费看
订阅专栏 解锁全文
1149

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



