gpt4 book ai didi

ruby - 堆栈级别太深(SystemStackError)

转载 作者:数据小太阳 更新时间:2023-10-29 07:08:16 27 4
gpt4 key购买 nike

我有 Sinatra 应用程序,需要测试我的应用程序。

features/support/env.rb:

require_relative "../../application"

require "capybara"
require "capybara/cucumber"
require "rspec"

World do
Capybara.app = Application

include Capybara::DSL
include RSpec::Matchers
end

features/one.feature:

Feature: Test homepage
In order to make sure people can open my site
I want to check it opened

Scenario: Opening first page
Given I have opened homepage
Then I should see site header

测试它:

cucumber features\one.feature

结果:

Feature: Test homepage
In order to make sure people can open my site
I want to check it opened

Scenario: Opening first page # features\one.feature:5
Given I have opened homepage # features\one.feature:6
Then I should see site header # features\one.feature:7

1 scenario (1 undefined)
2 steps (2 undefined)
0m0.006s

You can implement step definitions for undefined steps with these snippets:

Given /^I have opened homepage$/ do
pending # express the regexp above with the code you wish you had
end

Then /^I should see site header$/ do
pending # express the regexp above with the code you wish you had
end

好吧,我已经创建了 features/step_definitions/agenda_steps.rb:

Given /^I have opened homepage$/ do
pending # express the regexp above with the code you wish you had
end

Then /^I should see site header$/ do
pending # express the regexp above with the code you wish you had
end

测试它:

cucumber features\one.feature

结果:

Feature: Test homepage
In order to make sure people can open my site
I want to check it opened

Scenario: Opening first page # features\one.feature:5
Given I have opened homepage # features/step_definitions/agenda_steps.rb:1
C:/Ruby193/bin/cucumber:19: stack level too deep (SystemStackError)

为什么以及如何解决?

更新:如果我像这样重写我的 env.rb,问题就消失了:

require_relative "../../application"

require "capybara"
require "capybara/cucumber"
require "rspec"


Capybara.app = Application
#World do
# Capybara.app = Application
#
# include Capybara::DSL
# include RSpec::Matchers
#end

最佳答案

我得到了同样的相似错误..as

stack level too deep (SystemStackError)
/usr/local/rvm/gems/ruby-1.9.2-p290/gems/cucumber-1.1.4/lib/cucumber/core_ext/instance_exec.rb:73..

我在 env.rb 的第一行 中添加了 require 'cucumber/rails'...首先加载。

现在我再也不会遇到那个错误了。

关于ruby - 堆栈级别太深(SystemStackError),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9955008/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com