2009-08-27 11 views
2

私はrails guide to testingを見てきましたが、私のテストの中から治具のデータを得ることができます。その後、私は以下のとおり試験を有するrails - テスト内から治具データを取得する方法

one: 
    pay_period: one 
    employee: kent 
    cpp: 50 
    ei: 40 
    tax: 100 
    vacation_pay: 30 

(EmployeePayPeriodモデルである)

require 'test_helper' 
class EmployeePayPeriodTest < ActiveSupport::TestCase 

    # Replace this with your real tests. 
    test "Calculate wages under 80 hours correctly" do 
    p = EmployeePayPeriod(:one) 
    assert true 
    end 
end 

明らか以上が動作していない:私は固定具を有します。私はガイドを見てきました。ガイドでは、あなたがフィクスチャデータを取得する方法を説明するためにコードスニペットを使用しています。

@user = users(:david). 

通常の慣習は、それが単数と大文字だろうということですので、「ユーザー」は、モデルが(ではないようだだからここで行います。 「ユーザー」の自動生成が同等の「employee_pay_periods」オブジェクトが私のために利用可能でなければなりませんか??から来る(私が試したが、それは動作するようには思えない)。

おかげ

答えて

3

は、私は、ユーザーを信じてこの例では、users.ymlという文字列が使用されています。質問に直接答えるには、 .ymlのフィクスチャファイルの名前はです。長期的にはより簡単であるかもしれない

何かが、しかし、FactoryGirlMachinist、またはfixjour

+0

私の喜び。フィクスチャーと一緒に幸運。 – theIV

6

のようなものであるフィクスチャは、その名前のテーブル名(ないモデル名と一致する.ymlファイルにする必要があります)。 EmployeePayPeriodためのテーブル名を仮定し

は、あなたのフィクスチャはtest/fixtures/employee_pay_periods.ymlにする必要があり、あなたが備品にアクセスするための自動生成employee_pay_periods()方法を持っている必要があり、employee_pay_periodsです。

実際に照明器具がロードされていることを確認してください。最新のRailsはtest/test_helper.rbに以下の行を追加します:

fixtures :all 

これは、各テストケースの前にすべてのフィクスチャをロードします。この行が存在し、コメントアウトされていないことを確認してください。

関連する問題