Module: RSpec::StickySeed

Defined in:
lib/rspec/sticky_seed/version.rb,
lib/rspec/sticky_seed/read_seed.rb,
lib/rspec/sticky_seed/write_seed.rb

Constant Summary collapse

VERSION =
"0.0.2"

Class Method Summary collapse

Class Method Details

.any_failures?Boolean

Returns:

  • (Boolean)


3
4
5
6
# File 'lib/rspec/sticky_seed/write_seed.rb', line 3

def self.any_failures?
  examples = RSpec.world.filtered_examples.values.flatten
  examples.any?(&:exception)
end

.read_seedObject



3
4
5
6
7
# File 'lib/rspec/sticky_seed/read_seed.rb', line 3

def self.read_seed
  seed = File.read(".rspec-seed").to_i rescue 0
  RSpec.configuration.seed = seed
  srand seed+1
end

.write_seedObject



8
9
10
11
# File 'lib/rspec/sticky_seed/write_seed.rb', line 8

def self.write_seed
  return if any_failures?
  File.write(".rspec-seed","#{RSpec.configuration.seed+1}\n")
end