cucumber/webrat でテストを作成する方法を学んでいます。私のテスト シナリオの 1 つは、フォームの検証をテストするように設定されています (フィールドを空のままにします)。不思議なことに、私が入力していないfill_in
フィールドがフィールドのname
属性に設定されます。これはキュウリを実行した場合にのみ発生し、ブラウザを使用している場合は発生しません。
私が使用しているステップは簡単です:
When /^I submit the form$/ do
# Not filling in the 'Name' field here
fill_in 'Description', :with => 'This is a description'
click_button 'Save'
end
上記の手順を使用するシナリオを実行すると、テキスト フィールド「名前」が空ではなく「名前」に設定されていることがわかります。これは、そのフィールドに空のスペースまたは を入力した場合にも当てはまりますnil
。
fill_in 'Name', :with => ''
私がテストしているフォームは非常に単純です:
<form action="/item/create" method="post">
<div>
<label for="ItemName">Name</label>
<input type="text" name="name" id="ItemName" />
</div>
<div>
<label for="ItemDescription">Description</label>
<textarea name="description" id="ItemDescription"></textarea>
</div>
<input type="submit" value="Save" />
</form>
なぜこれが起こっているのですか?