0

私はレールに不慣れで、最近さまざまなチュートリアルを行っており、テスト駆動開発ルートをたどりたいと思っています。私は、このテストの書き方に問題がありました。

と の 2 つの関連モデルがTaskありProjectます。

Task belongs_to ProjectProject has_many Tasks

projectshow テンプレート内で、それに関連付けtasksられているすべてを一覧表示しprojectます。

タスクには、ボタンを押すとアーカイブ済みに設定したいステータス フィールドがあり、関連するプロジェクトに戻ります。

アソシエーションを使用してテストを作成するための正しい方向に向けて、誰かが私にナッジを与えることができますか? それは非常に高く評価されます。

4

1 に答える 1

0

どのようなテスト環境がありますか? RSpec または Test::Unit を使用していますか? 関連付けをテストする限り (Test::Unit で)、次のようなことができます。

#project_test.rb
def setup
  @project = Project.new(...)
end

def test_task_association
   assert_equal(@project.tasks, [])
   task = @project.task.new(...)
   assert_equal(@project.tasks, [task])
end

これはその場で入力したので、構文が正しいとは限りません。しかし、その要点は理解できるはずです。この種のテストは「最低」レベルのテストであり、関連付けをテストするために作成できる「単体テスト」とも呼ばれます。テンプレートをテストしたい場合は、「統合テスト」を調べることができます。これらは非常に役立つはずです: http://guides.rubyonrails.org/testing.html

于 2013-01-24T11:30:14.427 に答える