gpt4 book ai didi

rspec - shoulda-matchers RSpec 期望语法

转载 作者:行者123 更新时间:2023-12-03 10:21:19 24 4
gpt4 key购买 nike

使用 shoulda-matchers 的正确格式是什么?和 RSpec 的新 expect syntax ?

最佳答案

虽然人们当然可以将 shoulda-matchers 与新的期望语法一起使用,如下所示:

it 'should validate presence of :email' do
expect(subject).to validate_presence_of :email
end

或者更简洁但可读性更差的:
it { expect(subject).to validate_presence_of :email }

单线 should 2.14 中明确支持这些匹配器通常使用的格式,即使 config.syntax == :expect . should与隐式主题一起使用,如:
describe User
it { should validate_presence_of :email }
end

它不依赖于 Kernel 的猴子补丁那个should否则取决于。

这在 https://github.com/rspec/rspec-expectations/blob/master/Should.md 中有介绍.事实上,该文档甚至使用了上面的 shoulda匹配器示例来说明此异常。

另见 Using implicit `subject` with `expect` in RSpec-2.11 ,它讨论了一个配置选项,可让您用作 it 的替代方案。 .
expect_it { to validate_presence_of :email }

更新:从 RSpec 3.0 (beta2) 开始,您还可以使用:
it { is_expected.to validate_presence_of :email }

关于rspec - shoulda-matchers RSpec 期望语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18680131/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com