0

古いものRails 2.3 applicationをアップグレードしていて、ほとんどの仕様が機能していないことがわかりました。私と私は彼らが通過できるように取り組んでいます。

これまでのところ、spec ファイルのほとんどに require'spec_helper'が含まれていませんが、追加する必要があります。(なぜそれが以前になかったのかはわかりません)。

いくつかのコントローラにを追加するspec_helperと、エラー スタック レベルが深すぎます(SystemStackError).

私は現在以下のように実行していますが、これはおそらく Rails 2.1 アプリであったと思います。

  • レール 2.3.17
  • Rspec-rails 1.3.2
  • ルビー1.9.3

ファイルの先頭はこんな感じ。スタックが深すぎるというエラーにより、一連のテストが実際にはまったく実行されません。最初の 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 に答える