PERF: Redis snapshotting during tests (#15260)

We can fake redis transactions so that `fab!` works for redis and PG
data, but it's too slow to be used indiscriminately. Instead, you can
opt into it with the `use_redis_snapshotting` helper.

Insofar as snapshotting allows us to `fab!` more things, it provides a
speedup.
This commit is contained in:
Daniel Waterworth
2021-12-10 14:25:26 -06:00
committed by GitHub
parent e42f33b6ba
commit 02245ce41f
5 changed files with 72 additions and 5 deletions

View File

@ -0,0 +1,21 @@
# frozen_string_literal: true
module RedisSnapshotHelper
def use_redis_snapshotting
before(:all) do
RedisSnapshot.begin_faux_transaction
end
after(:all) do
RedisSnapshot.end_faux_transaction
end
before(:each) do
RedisSnapshot.begin_faux_transaction
end
after(:each) do
RedisSnapshot.end_faux_transaction
end
end
end