0

我正在升级旧的Rails 2.3 application,发现大多数规格都失败了。我正在努力让他们通过。

到目前为止,大多数规范文件都没有包含 require 'spec_helper',但需要添加。(不知道为什么它以前不存在)。

当我添加spec_helper到一些控制器时,我得到错误堆栈级别太深(SystemStackError).

我目前运行如下,但我相信这可能是一个 Rails 2.1 应用程序开始。

  • 导轨 2.3.17
  • Rspec-rails 1.3.2
  • 红宝石 1.9.3

文件的顶部看起来像这样。堆栈太深错误会导致测试集根本没有真正运行。如果我注释掉前三行,那么测试至少会运行,尽管都失败了。

require 'spec_helper'
require 'active_merchant'
include ActiveMerchant::Billing

describe 'AccountsController' do
...

这是我经过一番摆弄后能够起床的堆栈跟踪。

2)
stack level too deep
../bin/ruby_noexec_wrapper:14:in `<main>'
../gems/activesupport-2.3.17/lib/active_support/dependencies.rb:170:in `load_with_new_constant_marking'
../gems/ruby-1.9.3-p392@project/gems/rspec-1.3.2/lib/spec/runner/example_group_runner.rb:15:in `block in load_files'
../rspec-1.3.2/lib/spec/runner/example_group_runner.rb:14:in `each'
../gems/rspec-1.3.2/lib/spec/runner/example_group_runner.rb:14:in `load_files'
../gems/rspec-1.3.2/lib/spec/runner/options.rb:134:in `run_examples'
../gems/rspec-1.3.2/lib/spec/runner.rb:61:in `run'
../gems/rspec-1.3.2/lib/spec/runner.rb:45:in `block in autorun'
../gems/activesupport-2.3.17/lib/active_support/dependencies.rb:186: stack level too deep (SystemStackError)

从这里到哪里?

4

1 回答 1

0

尝试include ActiveMerchant::Billing按如下方式进入描述块:

require 'spec_helper'
require 'active_merchant'

describe 'AccountsController' do
  include ActiveMerchant::Billing
  ...

参考:

于 2013-03-18T12:29:16.723 回答