2012-02-23 20 views
0

I forked the country_code_select gem FormHelperのカスタムのためのテストを書くと、それは、ネストされたfields_forモデルに対して適切にID属性を生成していなかったためfixを作りました。宝石のパッチ

私は前にテストを書かないか、宝石をパッチしなかっました - しかし、私はしようとしています。これは全く新しいものです。

あなたは私が私の初めての宝石のパッチを提出することができるように、私は私のfixためのテストケースを書く際に役立つことはできますか?

私はform_forfields_forspec/form_helpers_specで使ってみましたが、それはちょうどウサギの穴を私に連れて行ってくれました。


助けるかもしれない追加情報:

Client.rb

has_one :billing_address 
accepts_nested_attributes_for :billing_address 

ビュー:

<%= form_for @client do |f| %> 
    <%= f.fields_for :billing_address, @client.billing_address do |ff| %> 
    <%= ff.country_code_select(:country_code) %> 
... 

答えて

0

あなたはすでにテストを持っています!フォークしたレポにはthis lineがあります。このテストケースをコピーして、変更内容が正常に動作した場合は新しい比較を作成し、を制動しないでを作成してください。

あなたはより多くの例や学校教育が必要な場合は、how rails tests view helpersを見てください。しかし、彼らは自分自身でこれらのヘルパーを記述し、あなたのフォーク以外のテストフレームワークを使用することに注意してください。

ないので、正確な例:

it "should output a valid select field for fields_for nested attributes" do 
    # in the next line, pass such parameters to this function 
    # so that your particular modification to the code is triggered 
    output = country_code_select(:client, :billing_address, :country_code) 

    # and here check if your code works as it should 
    # I think you're modifying how id is assigned with nesting fields, 
    # so test something like this: 
    output.should match(/select id="client_billing_address_country_code"/) 
end 

あなたはこのとのより深い取得したい場合、私はまた、テストについて読んでお勧めします。そこたくさんは、それまでだが、私はTDDはより良い、より信頼性の高いコードを生成するために私を助け、私はそれが余分努力の価値だと思うことがわかりました。

あなたの最初の投稿ですので、オープンソースコミュニティへようこそ。あなたの貢献で幸運を。