1. 3

  2. 3

    Why is RSpec performance unaffected?

    By default in testing Rails wraps each scenario in a transaction, and that transaction is never actually committed, instead it’s rolled back during teardown so as to leave the database pristine. The author may have opted for another non-transaction-based database cleaning strategy in Cucumber (another strategy is commonly needed when the test server and client are two different processes, e.g. when interacting with a web app through a browser), and left the default in place in RSpec.