RSpec测试宝石提供支持规范

时间:2016-01-16 01:45:28

标签: unit-testing rspec rubygems

我有一个支持规范功能,可以处理对操作,格式,关联的测试路由。此代码已移至我们的后端gem。使主应用程序中的路由测试更加清晰。我正在尝试为模块添加更强大的单元测试,因为有两个项目正在使用它。

我想在gem中编写一个RSpec测试来测试gem提供的RSpec代码。

在我们的gem(<gem>/lib/<gem>/spec/support/file.rb)中,它会像

那样
def test_route(....)
  ...
  if routable
    specify 'message' do
      expect (method => url).to route_to(controller, route_hash)
    end
  else
    specify 'other message' do
      expect (method => url).not_to be_routable
    end
  end
end

在gem rspec(<gem>/spec/lib/spec/support/test_route_spec.rb)中, 我试图删除:define_example_method函数,但我没有到达任何地方:

context 'context message' do
  before do
    allow(RSpec::Core::ExampleGroup).to receive(:define_example_group).with(name)
  end
  specify do
     # /b/1/a.json should be routable
     test_route(:a, :b, :index, :json, true)
     # expect something....
  end
end

我最终得到以下结论:

`specify` is not available from within an example (e.g. an `it` block)...

来自method_missing方法

任何指导或指示都将不胜感激。

0 个答案:

没有答案