10

私は Rails で Cucumber と Webrat を学んでおり、「編集」フォームをテストする最良の方法についてアドバイスを求めています。ユーザーのプロファイルを参照すると、ユーザーの情報がフォーム フィールドに事前入力された編集フォームが表示されます。フィールドに期待する情報が実際に含まれていることをテストできるようにしたいと考えています。これが私のシナリオです:

  Scenario: View My Profile
    Given  I am logged in as "Mike" with password "secret"
    When I go to my profile page
    Then I should see "Mike" in the "Login" field
    And I should see "mike@email.com" in the "Email" field
    And I should see a blank "Password" field
    And I should see a blank "Password confirmation" field

Cucumber は、次のカスタム ステップを定義する必要があることを正しく示しています。

Then /^I should see "([^\"]*)" in the "([^\"]*)" field$/ do |arg1, arg2|
  pending
end

Then /^I should see a blank "([^\"]*)" field$/ do |arg1|
  pending
end

これらのステップの評価を実装するための厄介な正規表現を見つけ出すことができると確信していますが、私ができる何かがすでに存在するか、より洗練されているに違いないと感じています。フォーム フィールドにデータが事前入力されたフォームをどのように評価しますか?

4

1 に答える 1

15

features/step_definitions/webrat_steps.rb を見てください。次のステップ定義は、探しているもののように見えます。

Then /^the "([^\"]*)" field should contain "([^\"]*)"$/ do |field, value|
  field_labeled(field).value.should =~ /#{value}/
end
于 2009-09-23T09:46:41.340 に答える