3

テストを実行すると、 /cov フォルダーに新しいファイルを作成する Rails アプリがあります

Finished in 20.6 seconds
19 examples, 0 failures
Coverage report generated for RSpec to /Users/nicholasshook/Sites/<<my project>>/coverage. 264 / 446 LOC (59.19%) covered.

終わり。

ただし、localhost/coverage/index.html にアクセスしようとすると、このエラーが発生します。

No route matches [GET] "/coverage/index.html"

ありがとう

4

4 に答える 4

7

SimpleCov または類似の gem を使用してテスト結果を生成している場合、それらは静的 HTML ファイルであり、マシン上でローカルに表示されることを意図しています。IE では、/Users/nicholasshook/Sites/<>/coverage/index.html を参照し、そのファイルをブラウザーで開きます。

セキュリティと管理上の理由から、Rails は /coverage/index.html へのルートを作成しません。静的 HTML ページへのルートを作成できますが、それらは /public ディレクトリにある必要があります。アプリでカバレッジ結果にアクセスできるようにする必要がある場合は、いくつかのオプションがあります。

  1. カバレッジ ファイルを /public ディレクトリに移動し、High_Voltage https://github.com/thoughtbot/high_voltageなどの gem を使用してそこにルートを作成します。
  2. カバレッジ ツールを再構成してファイルを /public ディレクトリに配置するか、手動でコピーする必要があります。
于 2013-02-22T00:21:42.160 に答える
2

spec_helper.rb ファイルの SimpleCov.start 'rails' の直後に次の行を使用して、これを行うことができました。

SimpleCov.start 'rails'
SimpleCov.root('/my/app/root/directory/public')

/public/coverage も .gitignore ファイルに追加する必要があります

于 2013-07-03T13:29:07.867 に答える