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