У меня есть этот упрощенный код:
describe MyController, type: :controller do
before(:each) do
@var1 = FactoryGirl.create(:var1)
@var2 = FactoryGirl.create(:var2)
@var3 = FactoryGirl.create(:var3)
end
# todo
describe "#update" do
# @var1, @var2 and @var3 are being used in each test
it "should aaa" do
put :url1, params: { ... }
expect(response.status).to eql 200
r = JSON.parse(response.body)
expect(r["val1"]).to eql val
end
it "should bbb" do
put :url1, params: { ... }
expect(response.status).to eql 200
r = JSON.parse(response.body)
expect(r["val1"]).to eql val
end
it "should ccc" do
put :url1, params: { ... }
expect(response.status).to eql 200
r = JSON.parse(response.body)
expect(r["val1"]).to eql val
end
end
end
Дело в том: когда я запускаю эти тесты по одному, используя номер строки, они все проходят без нареканий.
Когда я запускаю их вместе , один 1-й проходит, а 2 другие не проходят: они возвращают 404 для "пут"
Как это может быть?Через url1 ничего не удаляется и не создается, обновляется только одно логическое значение.