使用rspec和rails测试嵌套模块

时间:2012-10-10 18:34:29

标签: ruby-on-rails ruby testing rspec

  

可能重复:
  Testing modules in rspec

目前我正在使用rspec成功测试我的模块,如下所示:

require 'spec_helper'

module Services
  module AppService
    describe AppService do
      describe "authenticate" do
        it "should authenticate the user" do
          pending "authenticate the user"
        end
      end
    end
  end
end

我的模块住在 应用程序/服务/ services.rb 应用程序/服务/ app_service.rb

然而,是否有更优雅的解决方案来测试我的模块而无需在规范中声明命名空间?我觉得它与我的规格紧密相关,做出改变会引起很多麻烦。

1 个答案:

答案 0 :(得分:9)

您可以执行以下操作,而不是复制AppServices

module Services
  describe AppService do
  end
ene

或者:

describe Services::AppService do
end

我倾向于选择前者,因为它允许我不对规范中的常量名称进行完全限定(因为所有内容都在Services模块中,所以它看起来相对于那个,首先)。