无法两次调用instance_double

时间:2016-01-16 22:43:28

标签: ruby rspec mocking

我正在编写测试文件来检查项目是否已添加到我使用的类中,如数组

    describe '#collection' do
        let(:process) {
            instance_double("WebServerProcess", :cpu => 33, :mem => 22, :pid => 1, :port => 8000)
        }
        it 'return the collection' do
            WebServersCollection.add process
            expect(subject.collection).to eq([process])
        end
        it 'should add with <<' do
            WebServersCollection << process
            expect(subject.collection).to eq([process])
        end
    end

告诉我这个错误

  

失败/错误:期望(subject.collection).to eq([process])          #最初是在一个例子中创建的,但已泄漏到另一个例子中,但不能   更长时间使用。 rspec-mocks的双打设计只能持续一个   例如,您需要在每个示例中创建一个新的   用它来。

1 个答案:

答案 0 :(得分:0)

我认为错误会告诉您需要知道的一切。

你无法做到这一点

  

您需要在每个要用于

的示例中创建一个新的