rspec预期使用then条件

rspec预期使用then条件,rspec,rspec3,Rspec,Rspec3,以以下内容为例: var1,err1=class.method 下面是我想编写一个复合rspec expect语句来处理的伪代码: 如果var1为nil,则err1不应为nil不要将ifs放在测试代码中,而是编写两个测试用例,覆盖它自己的变体 it 'when var1 is nil, err1 is not nil' do var1, err1 = some_method('when var1 is nil') expect(var1).to be_nil exp

以以下内容为例:

var1,err1=class.method

下面是我想编写一个复合rspec expect语句来处理的伪代码:

如果var1为nil,则err1不应为nil

不要将ifs放在测试代码中,而是编写两个测试用例,覆盖它自己的变体

  it 'when var1 is nil, err1 is not nil' do
    var1, err1 = some_method('when var1 is nil')

    expect(var1).to be_nil
    expect(err1).not_to be_nil
  end

  it 'when err1 is nil, var1 is not nil' do
    var1, err1 = some_method('when err1 is nil')

    expect(var1).not_to be_nil
    expect(err1).to be_nil
  end

谢谢阿列克西。我希望能够实现复合预期,即:`expectlight.color.to eqgreen.or eqyellow.or eqred',其实它们的工作原理与您在评论中所写的完全相同,详情如下: