|
- # frozen_string_literal: true
-
- require 'spec_helper'
- require 'cucumber/rake/task'
- require 'rake'
-
- module Cucumber
- module Rake
- describe Task::ForkedCucumberRunner do
- let(:libs) { ['lib'] }
- let(:binary) { Cucumber::BINARY }
- let(:cucumber_opts) { ['--cuke-option'] }
- let(:feature_files) { ['./some.feature'] }
-
- context 'when running with bundler' do
- let(:bundler) { true }
-
- subject { Task::ForkedCucumberRunner.new(libs, binary, cucumber_opts, bundler, feature_files) }
-
- it 'does use bundler if bundler is set to true' do
- expect(subject.use_bundler).to be true
- end
-
- it 'uses bundle exec to find cucumber and libraries' do
- expect(subject.cmd).to eq [
- Cucumber::RUBY_BINARY,
- '-S',
- 'bundle',
- 'exec',
- 'cucumber',
- '--cuke-option'
- ] + feature_files
- end
- end
-
- context 'when running without bundler' do
- let(:bundler) { false }
-
- subject { Task::ForkedCucumberRunner.new(libs, binary, cucumber_opts, bundler, feature_files) }
-
- it 'does not use bundler if bundler is set to false' do
- expect(subject.use_bundler).to be false
- end
-
- it 'uses well known cucumber location and specified libraries' do
- expect(subject.cmd).to eq [
- Cucumber::RUBY_BINARY,
- '-I',
- '"lib"',
- "\"#{Cucumber::BINARY}\"",
- '--cuke-option'
- ] + feature_files
- end
- end
- end
- end
- end
|