free_mutant/lib/mutant/strategy/rspec.rb

60 lines
1.1 KiB
Ruby
Raw Normal View History

module Mutant
class Strategy
# Rspec strategy base class
class Rspec < self
KILLER = Killer::Forking.new(Killer::Rspec)
# DM2-style strategy
class DM2 < self
# Return filename pattern
#
2012-12-07 17:27:21 -05:00
# @return [Enumerable<String>]
#
# @api private
#
def spec_files(mutation)
ExampleLookup.run(mutation)
end
end
# Run all unit specs per mutation
class Unit < self
# Return file name pattern for mutation
#
2012-12-07 17:27:21 -05:00
# @return [Enumerable<String>]
#
# @api private
#
def spec_files(mutation)
2012-12-07 17:27:21 -05:00
['spec/unit']
end
end
# Run all integration specs per mutation
2012-12-07 17:27:21 -05:00
class Integration < self
# Return file name pattern for mutation
#
# @return [Mutation]
#
# @api private
#
def spec_files(mutation)
Dir['spec/integration/**/*_spec.rb']
end
end
# Run all specs per mutation
class Full < self
def spec_files(mutation)
Dir['spec/**/*_spec.rb']
end
end
end
end
end