Ruby on Rails
チュートリアルステップ5

<— チュートリアルステップ4 | チュートリアル | チュートリアルステップ6 (コーディング) —>

Railsのテスト

railsのフォルダに移動し、

“rake”と打ってください。

rakeがインストールされていれば、railsが正しく展開されたことを確認するためのテストが実行されます。

コントローラとモデルを開発するにつれて、機能テストと単体テストは自動的に生成され、test\functionalとtest\unitディレクトリに追加されます。そして、fixturesはtest\fixturesディレクトリに追加されます。

<— チュートリアルステップ4 | チュートリアル | チュートリアルステップ6 (コーディング) —>

注意: rails 0.9.5の場合、テストはMySQL、PostgreSQL、SQLite (バージョン2と3)に対して機能します。それより前のバージョンのrailsは、MySQLを使っていない場合にテストの実行に問題があるかもしれません(なのでアップグレードしましょう!)

私のところではうまく機能しません
テストデータベースを策しましたか?“config/database.yml”をチェックしてください。

ステージ6はうまくいくのに、私のところでもうまくいきません。rakeが異常終了するなら、nilオブジェクトがおそらく期待しないところにあります。かわりに配列のインスタンスがおそらく望ましいでしょう。

私も似たような問題があり、playgroundsに呼ばれるテストデータベースplayground_testに、整数カラムidを持つテーブルを作ることで解決しました。

_さらに、3つすべてのデータベースを生成し、最低1つのテーブルを作るまでテストは失敗しました。

カテゴリ:チュートリアル

_不思議: “こちらがテスト方法です”。 何を見ればいいですか?失敗のメッセージが表示されました。でもこれもまた不可解なRailsのエラーメッセージでした。どんなテストが実行され、何が失敗したのかについての情報を得るためには、どうやらシステムファイルらしいもの( /usr/lib/ruby/gems/1.8/gems/rake-0.7.1/lib/rake.rb )の中を見なければならないようです。妥当なエラーメッセージを出力するgemはありませんか?たとえば:
Test failed:
I tried ot do X and it failed with Error message Y
ちょうど私も失敗しました:

Test failures
/usr/lib/ruby/gems/1.8/gems/rake-0.7.1/lib/rake.rb:387:in `execute’
にくわえてもっとたくさんのエラーが出ました。何を実行しいるのでしょうか?システムファイルが膨れているのか、アプリケーションが膨れているのか?モデルでしょうか?データベースでしょうか?htmlでしょうか?

私も似た問題を抱えています。個々のファイルを実行すればテストを実行できるのですが、ベースディレクトリでrakeと打つと何もかもが爆発します。私は、rakeが製品データベースstructureからテストデータベースstructureを再生成するためではないかと思います。アプリケーションが動作するのには3つより多くの構造がいるのではないかと思います。