diff --git a/lib/spinach/frameworks/minitest.rb b/lib/spinach/frameworks/minitest.rb index daf9a80f..70f657ec 100644 --- a/lib/spinach/frameworks/minitest.rb +++ b/lib/spinach/frameworks/minitest.rb @@ -1,13 +1,34 @@ require 'minitest/spec' -MiniTest::Spec.new nil if defined?(MiniTest::Spec) -Spinach.config[:failure_exceptions] << MiniTest::Assertion -class Spinach::FeatureSteps - include MiniTest::Assertions - attr_accessor :assertions +if defined? MiniTest::Spec + MiniTest::Spec.new nil +elsif defined? Minitest::Spec + Minitest::Spec.new nil +end + +if defined? MiniTest::Assertion + Spinach.config[:failure_exceptions] << MiniTest::Assertion - def initialize(*args) - super *args - self.assertions = 0 + class Spinach::FeatureSteps + include MiniTest::Assertions + attr_accessor :assertions + + def initialize(*args) + super *args + self.assertions = 0 + end + end +elsif defined? Minitest::Assertion + Spinach.config[:failure_exceptions] << Minitest::Assertion + + class Spinach::FeatureSteps + include Minitest::Assertions + attr_accessor :assertions + + def initialize(*args) + super *args + self.assertions = 0 + end end end + diff --git a/spinach.gemspec b/spinach.gemspec index 331cfa41..82175baf 100644 --- a/spinach.gemspec +++ b/spinach.gemspec @@ -12,12 +12,12 @@ Gem::Specification.new do |gem| gem.add_runtime_dependency 'gherkin-ruby', '>= 0.3.2' gem.add_runtime_dependency 'colorize' gem.add_development_dependency 'rake' - gem.add_development_dependency 'mocha', "~> 1.5.0" + gem.add_development_dependency 'mocha' gem.add_development_dependency 'sinatra' gem.add_development_dependency 'capybara' gem.add_development_dependency 'pry' gem.add_development_dependency 'rspec' - gem.add_development_dependency 'minitest', '< 5.0' + gem.add_development_dependency 'minitest' gem.add_development_dependency 'fakefs', ">= 0.5.2" gem.required_ruby_version = Gem::Requirement.new(">= 2.4".freeze) diff --git a/test/spinach/frameworks/minitest_test.rb b/test/spinach/frameworks/minitest_test.rb index 472bd532..d36a5745 100644 --- a/test/spinach/frameworks/minitest_test.rb +++ b/test/spinach/frameworks/minitest_test.rb @@ -6,11 +6,23 @@ end it "adds MiniTest::Assertion into the failure exceptions" do - Spinach.config[:failure_exceptions].must_include MiniTest::Assertion + if defined? MiniTest::Assertion + Spinach.config[:failure_exceptions].must_include MiniTest::Assertion + elsif defined? Minitest::Assertion + Spinach.config[:failure_exceptions].must_include Minitest::Assertion + else + fail + end end it "extends the FeatureSteps class with MiniTest DSL" do - Spinach::FeatureSteps.ancestors.must_include MiniTest::Assertions + if defined? MiniTest::Assertion + Spinach::FeatureSteps.ancestors.must_include MiniTest::Assertions + elsif defined? Minitest::Assertion + Spinach::FeatureSteps.ancestors.must_include Minitest::Assertions + else + fail + end end it "makes FeatureSteps respond to 'assertions'" do diff --git a/test/support/filesystem.rb b/test/support/filesystem.rb index 27198cea..2f6ad58b 100644 --- a/test/support/filesystem.rb +++ b/test/support/filesystem.rb @@ -10,4 +10,8 @@ def in_current_dir(&block) end end -MiniTest::Spec.send(:include, Filesystem) +if defined? MiniTest::Spec + MiniTest::Spec.send(:include, Filesystem) +elsif defined? Minitest::Spec + Minitest::Spec.send(:include, Filesystem) +end \ No newline at end of file