找不到ruby单元测试at_start

时间:2015-11-18 08:23:20

标签: ruby unit-testing jruby

我使用带有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

1 个答案:

答案 0 :(得分:0)

在您的链接提供的示例中

Test::Unit.at_start do
  puts "start"
end

在测试类之外调用。您是从测试类中调用它。只需将其移出TestAOS

即可