2

「rspec」のようなスペックを実行しているとき。コマンド ラインから、仕様でそのコードを呼び出すと、コンソールに puts または logger.info が表示されます。ただし、logger.info または puts への呼び出しが、テストしているコントローラーにある場合、test.log ファイルまたはコンソール ウィンドウに出力されません。

RSpec 2 と Rails 3.0.4 を使用しています

また、これは製油所のサイトですが、テストしようとしている製油所の CMS の外部にいくつかのコントローラーがあります。通常のサイトで puts や logger.info を実行すると、RSpec を実行しても問題なく動作するようです。

ありがとう。

4

1 に答える 1

1

さて、私たちはついにこれを理解しました。

問題は、Refineryではデフォルトのユーザーを作成する必要があるか、フロントエンドページにアクセスできないことです。最初に起動すると、デフォルトの管理者ログインを作成するようにユーザーに求められます。したがって、テストを実行しているとき、コードがヒットすることはありませんでした。製油所は、テスト時に「ブラウザ」を「最初のユーザーの作成」ページにリダイレクトしていました。

デフォルトのユーザーでシードを作成した後、すべてが再び機能しました。したがって、問題は、「puts」または「logger.info」の実行が製油所またはrspecで機能しないということではありませんでした。テスト中は、コントローラーにたどり着くことはありませんでした。

于 2011-04-08T16:16:28.033 に答える