1

rspec と capybara を使用して、いくつかのフォーム パスのテストを行っていますが、PHP で開発されているため、HTML を探しているだけです。したがって、プロセスの次の質問に進むには、前の 1 つの質問フォームに回答し、click_button で次の部分に進む必要があります。これをそれぞれやっています。これが私が扱っているものの例です:

describe 'Fourth Step' do
  before do
    visit '/thiseffingwebsite'
    select 'someAnswer', from: 'someQuestion'
    click_button "Continue"
    select 'someAnswer2', from: 'someQuestion2'
    click_button "Continue"
    select 'someAnswer3', from: 'someQuestion3'
    click_button "Continue"
  end

  it "should have certain content" do
     some stuff
  end

  it "should have stuff on next page after clicking Continue" do
    fill out form
    click_button 'Continue'
    stuff on next page should be present
  end
end

そして、これは12ステップ続きます。各テストの次のステップと一緒にその説明ブロックを配置する必要があります。助言がありますか?「let」を調べましたが、適用する方法が見つかりませんでした。ありがとう。

4

1 に答える 1

2

サーバーが特定の一連のフォーム値に対して正しい応答を送信することのみをテストしようとしている場合は、このブログ投稿の例に従って、記入済みのフォームを投稿するだけで、返されたページに正しいテキストが含まれていることを確認できます。 .

確かに、これは Capybara テストの精神に反しますが、あなたのケースでは、フォームがページ上でどのように機能するかは気にせず、正しい応答が返されるだけです。

于 2013-05-18T05:52:51.007 に答える