2

我有一些大型的端到端集成测试,出于 CI 目的,我不想在 Capybara 的 spec/features 文件夹中进行这些测试。相反,我将它们放在规范/集成文件夹中。知道 Capybara 根据文件夹加载不同,我将 :type=>:feature 选项放在我的描述中,如下所示:

describe 'Recurring Contract Orders', :type=>:feature, :js=>true, :focus=>true do
    it "satisifies the use case" do
    ....

但没有运气,我仍然得到:

NameError:
   undefined local variable or method `page' for #<RSpec::Core::ExampleGroup::Nested_1:0x007fd396bd2998>

运行测试时出错。还有什么我想念的吗?

4

2 回答 2

1

我不知道这是否是您仍在尝试解决的问题,但我遇到了同样的问题。如果只包含 DSL,则可以使用特定的 Capybara 命令:

include Capybara::DSL

我还没有找到如何让 Capybara 包含我的 /integration 文件夹,但现在这已经奏效了。

于 2013-09-24T15:54:47.557 回答
0

对于未来的参考,我认为正确的事情(根据https://github.com/jnicklas/capybara)是用 :type => :feature 标记规范,例如

describe "Some pages", :type => :feature do

  specify "some behaviour"

end
于 2014-04-29T16:46:12.607 回答