NoMethodError:未定义的方法`assert_true'

时间:2014-09-24 07:03:28

标签: ruby assertions testunit

NoMethodError: undefined method `assert_true'

在ruby中使用测试单元运行测试时出现上述错误。测试单元gem和rake版本如下,

test-unit (2.5.5)
rake (10.1.0)

示例测试文件: -

require 'test/unit'

class Sample < Test::Unit::TestCase

  def setup
    # code block
  end

  def test_sample
    assert_true("test"=="test")
  end

  def teardown
    # code block
  end

end

如何解决这个问题?

3 个答案:

答案 0 :(得分:3)

我通过以下方式解决了这个问题。无需更改断言语句。

require 'rubygems'
gem 'test-unit'
require 'test/unit'

class Sample < Test::Unit::TestCase

  def setup
    # code block
  end

  def test_sample
    assert_true("test"=="test")
  end

  def teardown
    # code block
  end

end

答案 1 :(得分:1)

assert_true似乎不在测试单元的可用断言列表中。尝试使用assert。参考:http://ruby-doc.org/stdlib-2.0.0/libdoc/test/unit/rdoc/Test/Unit/Assertions.html

答案 2 :(得分:0)

从1.9.2开始,test / unit是minitest的包装器,实现了directly in the ruby source code。新实现中不存在assert_true方法,只需使用assert,正如Simon Brahan已经建议的那样。因此,您正在查看的宝石源不再使用。现在相关的文档是here