samedi 2 mai 2015

Run unit test with Ruby 2.0 and minitest 5.5 without Gemfile

I was learning Ruby by reading Programming Ruby and there is this example code:

require_relative 'count_frequency'
require_relative 'words_from_string'
require 'test/unit'

class TestWordsFromString < Test::Unit::TestCase
  def test_empty_string
    assert_equal([], words_from_string(''))
    assert_equal [], words_from_string('   ')
  end

  def test_single_word
    assert_equal ['cat'], words_from_string('cat')
    assert_equal ['cat'], words_from_string('   cat   ')
  end

  def test_many_words
    assert_equal ['the', 'cat', 'sat', 'on', 'the', 'cat'],         words_from_string('the cat sat on the mat')
  end

  def test_ignore_punctuation
    assert_equal ['the', "cat's", 'mat'], words_from_string("the cat's mat")
  end
end

When I tried to run it, an error occured: MiniTest::Unit::TestCase is now Minitest::Test.

I'm using ruby 2.0.0p481 (2014-05-08 revision 45883) [universal.x86_64-darwin14] and minitest (5.5.0, 5.4.3, 5.3.5, 4.3.2). I did some search and found that since minitest5.0, MiniTest::Unit::TestCase has changed to Minitest::Test. But I cannot do anything since it's in the source file of the gem. Some suggests that require minitest 4.** in Gemfile, but i'm just running a few scripts. There is no need for Gemfile I suppose. And I certainly don't want to uninstalling minitest5.**. So is there a way I could run this script with minitest5.5 and ruby 2.0?

Aucun commentaire:

Enregistrer un commentaire