Ruby:未定义的方法“ assert”

柯达·张

我在Codeschool上遵循此代码

string_extension_test.rb

gem "minitest", "~> 4.0"
require "test/unit"
require "string_extension"

assert "3".is_number?
assert !"Blash".is_number?

string_extension.rb

class String 
    def is_number?
        if self =~/^\d+$/
            true
        else
            false
        end
    end
end

我输入 ruby -I. string_extension_test.rb

但是,它表明

string_extension_test.rb:6:in `<main>': undefined method `assert' for main:Object (NoMethodError)

我试过添加include Test::Unit::Assertionsstring_extension_test.rb,它可以通过,但没有测试用例。

输出将是

Finished tests in 0.013038s, 0.0000 tests/s, 0.0000 assertions/s.
0 tests, 0 assertions, 0 failures, 0 errors, 0 skips
胆大妄为的

您可能需要将测试放在继承自Test :: Unit :: TestCase的类中。就像是:

class StringExtensionTest < Test::Unit::TestCase
  def test_is_number
    assert '3'.is_number?
  end

  def test_is_not_number
    assert !'B'.is_number?
  end
end

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章