Sha256: b2af958a4cc8f7e6053635e119ecc764093616f18f45438c4dee3c437fecbb7d

Contents?: true

Size: 1.28 KB

Versions: 8

Compression:

Stored size: 1.28 KB

Contents

RSpec.shared_examples_for 'framework integration' do
  around do |example|
    Bundler.with_clean_env do
      Dir.chdir(TestApp.root) do
        Kernel.system("bundle install --gemfile=#{gemfile}") || fail('Bundle install failed!')
        ENV['BUNDLE_GEMFILE'] = gemfile
        example.run
      end
    end
  end

  specify 'it allows to kill mutations' do
    expect(Kernel.system("#{base_cmd} TestApp::Literal#string")).to be(true)
  end

  specify 'it allows to exclude mutations' do
    cli = <<-CMD.split("\n").join(' ')
      #{base_cmd}
      TestApp::Literal#string
      TestApp::Literal#uncovered_string
        --ignore-subject TestApp::Literal#uncovered_string
    CMD
    expect(Kernel.system(cli)).to be(true)
  end

  specify 'it allows disabling mutations with an inline comment' do
    cli = <<-CMD.split("\n").join(' ')
      #{base_cmd}
      TestApp::Literal#string
      TestApp::Literal#disabled_string
    CMD
    expect(Kernel.system(cli)).to be(true)
  end

  specify 'fails to kill mutations when they are not covered' do
    cli = "#{base_cmd} TestApp::Literal#uncovered_string"
    expect(Kernel.system(cli)).to be(false)
  end

  specify 'fails when some mutations are not covered' do
    cli = "#{base_cmd} TestApp::Literal"
    expect(Kernel.system(cli)).to be(false)
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
mutest-0.0.9 spec/shared/framework_integration_behavior.rb
mutest-0.0.8 spec/shared/framework_integration_behavior.rb
mutest-0.0.7 spec/shared/framework_integration_behavior.rb
mutest-0.0.6 spec/shared/framework_integration_behavior.rb
mutest-0.0.5 spec/shared/framework_integration_behavior.rb
mutest-0.0.4 spec/shared/framework_integration_behavior.rb
mutest-0.0.3 spec/shared/framework_integration_behavior.rb
mutest-0.0.2 spec/shared/framework_integration_behavior.rb