0

そのため、コントローラーをテストしようとしていますが、問題が発生しています。コードの一部ではファイルをロードする必要がありますが、次のエラーが表示されます:

Errno::ENOENT:
       No such file or directory - ./public/licenses/58efcffc3d8441fcc0627164a8b1350aFCV5Hmashup_lic.xml

ただし、ファイルは終了します。ブラウザーで実行すると、問題なく正常に動作します (ただし、まだテストを作成したい)。

これが関係しているかどうかはわかりませんが、テストを実行するときにデータベースを使用しています。これが実際に行うべき方法ではないことは知っていますが、他の方法は知りません。

どんな助けでも素晴らしいでしょう。ありがとう。

4

2 に答える 2

1

おそらく、テストの実行時に現在の作業ディレクトリがどこにあるかについての仮定が間違っているためです。そこにa を入れてみて、puts File.dirname('.')自分がいると思うディレクトリから実行していることを確認してください。

于 2011-09-05T17:00:10.147 に答える
0

デバッグツールとして:

テストでは、ファイルをチェックするステートメントの直前に、追加してみてください

puts "list dir " + `ls ./public/licenses/`

ファイルが本当にそこにあるかどうかを確認します。

テスト ユーザー ID からのアクセス許可の問題である可能性があります

また、ファイルが実際には存在しない可能性もあります...

于 2011-09-05T03:21:15.190 に答える