Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added support for Minitest 5. #253

Draft
wants to merge 1 commit into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
37 changes: 29 additions & 8 deletions lib/spinach/frameworks/minitest.rb
Original file line number Diff line number Diff line change
@@ -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

4 changes: 2 additions & 2 deletions spinach.gemspec
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down
16 changes: 14 additions & 2 deletions test/spinach/frameworks/minitest_test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
6 changes: 5 additions & 1 deletion test/support/filesystem.rb
Original file line number Diff line number Diff line change
Expand Up @@ -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