O DatabaseCleaner ainda é necessário com as especificações do sistema Rails?

Pelo que li sobre as novas especificações do sistema Rails 5.1, entendi que o Rails agora lida com transações de banco de dados internamente.

DeBlog do Rspec: "[anteriormente] seus testes e seu código sob teste não podem compartilhar uma transação de banco de dados e, portanto, você não pode usar o mecanismo interno do RSpec para reverter as alterações no banco de dados, exigindo uma jóia como um limpador de banco de dados. Com os testes do sistema, a equipe do Rails fez o trabalho duro para garantir que esse não seja o caso e, assim, você possa usar com segurança o mecanismo do RSpec, sem precisar de uma gema extra ".

Minha experiência é diferente:

Meus testes de recursos do Rspec foram aprovados após a atualização para o Rails 5.1.Renomeei o 'recurso' especificações para se tornar 'sistema' especificações. Todos os testes foram aprovados.Eu removi oLimpador de banco de dados gem e removeu todas as referências derails_helper.rb. Os testes JS agora falham devido avalidates uniqueness erros. Os testes não JS passam.

Meus testes são muito simples.

let(:subject) { page }
let(:user) { create :user, name: "TestUser" }
it "displays the user page", :js do
  visit user_path(user)
  it is_expected.to have_content "TestUser"
end

Com o limpador de banco de dados desativado e:js => true eu recebouser named TestUser already exists. Com:js => false o teste passa.

Qual é a situação atual com testes do sistema e rspec? O Rails manipula transações de banco de dados internamente ou o Database Cleaner ainda é necessário? Alguém já encontrou isso ou pode me indicar informações relevantes?

questionAnswers(1)

yourAnswerToTheQuestion