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
如何解决这个问题?
答案 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。