在rails中的初始化程序中为此文件编写测试用例的位置?

时间:2012-02-28 10:54:03

标签: ruby-on-rails ruby-on-rails-3 testing exception-handling functional-testing

我在rails 2.x app中的intializer文件夹中创建了一个common.rb文件。代码在

之下
def handle_exception &block
  begin
    yield block
  rescue Exception => ex
    logger.error(ex)
    HoptoadNotifier.notify(ex)
  end
end

对于上面我想写测试用例。我想它应该在功能测试中。如果是这样的话。我不知道应该如何命名,意味着我对(控制器名称<< Base)感到困惑。 rails像其他控制器测试一样运行此测试用例吗?或者我们需要在任何地方添加它吗?由于上面的代码没有继承自控制器等的类。如果你不清楚我的问题,我会添加更多的信息。

1 个答案:

答案 0 :(得分:1)

我假设handle_exception是一个全局函数,所以你可以使用RSpec测试它,如下所示:

require 'spec_helper'

describe "common" do

  it "handles exceptions" do
    logger.should_receive( :error )
    HoptaodNotifier.should_receive( :notify )

    handle_exception { raise Exception.new( "This is the error") }
  end

end