从旧的rspec语法转换为新的语法:
旧:
describe "when password is not present" do
before { @user.password = @user.password_confirmation = " " }
it { should_not be_valid }
end
如果使用更新的expect语法,它应该如何?
答案 0 :(得分:2)
使用expect-syntax测试将是:
it { is_expected.not_to be_valid }
请注意,对于单行语法,仍然支持should语法(即没有弃用警告),因此您不必进行任何更改。来自Relish page on RSpec Core 3.1:
- 当rspec-expectations只有基于应该的语法时,
is_expected
被定义为expect(subject),专为您使用较新的基于期望的rspec期望而设计 语法。should
被设计回来了。但是,它仍然可用并且有效 即使:should
语法被禁用(因为它只是删除 对象#应该是,但这是RSpec :: Core :: ExampleGroup#should)。