如何将旧的rspec语法“it {should_not be_valid}”转换为rspec2?

时间:2015-01-08 13:43:01

标签: rspec rspec2

从旧的rspec语法转换为新的语法:

旧:

 describe "when password is not present" do
    before { @user.password = @user.password_confirmation = " " }

    it { should_not be_valid }
  end

如果使用更新的expect语法,它应该如何?

1 个答案:

答案 0 :(得分:2)

使用expect-syntax测试将是:

it { is_expected.not_to be_valid }

请注意,对于单行语法,仍然支持should语法(即没有弃用警告),因此您不必进行任何更改。来自Relish page on RSpec Core 3.1

  
      
  • is_expected被定义为expect(subject),专为您使用较新的基于期望的rspec期望而设计   语法。
  •   当rspec-expectations只有基于应该的语法时,
  • should被设计回来了。但是,它仍然可用并且有效   即使:should语法被禁用(因为它只是删除   对象#应该是,但这是RSpec :: Core :: ExampleGroup#should)。
  •