我使用带有ruby 1.9.3的test-unit-2.5.5。在http://test-unit.rubyforge.org/test-unit/en/Test/Unit.html#at_start-class_method中,有一个名为at_start的方法,作为2.5.2版本的ruby test :: unit模块的一部分。我尝试在页面上的示例中使用它,如下所示:
class TestAOS < Test::Unit::TestCase
Test::Unit.at_start do
puts "start"
end
Test::Unit.at_exit do
puts "Exit!"
end
但是当我进行测试时,我得到以下内容:
NoMethodError: undefined method `at_start' for Test::Unit:Module
TestAOS at unit/TestAOS.rb:8
(root) at unit/TestAOS.rb:7
在使用此方法之前,我是否需要先做任何事情?我是红宝石的新手
当我注释掉at_start bloack并运行测试时,我得到了at_exit的不同错误:
NoMethodError: private method `at_exit' called for Test::Unit:Module
TestAOS at unit/TestAOS.rb:12
(root) at unit/TestAOS.rb:7
A
答案 0 :(得分:0)
在您的链接提供的示例中
Test::Unit.at_start do
puts "start"
end
在测试类之外调用。您是从测试类中调用它。只需将其移出TestAOS