2

Cucumber を使用して Web ページのフィルター機能をチェックしようとしています。特定の映画の評価を確認すると、表にある評価の映画のみが表示されます。これが私のシナリオです:

When I check the following ratings: 'PG', 'R'
And I press Refresh
Then I should not see /PG/

そして、ここに私のステップ定義があります:

Then /^(?:|I )should not see \/([^\/]*)\/$/ do |regexp|
  regexp = Regexp.new(regexp)
  if page.respond_to? :should
    page.should have_no_xpath('//*', :text => regexp)
  else
    assert page.has_no_xpath?('//*', :text => regexp)
  end
end

しかし、「あいまいな一致」エラーが発生します。

重要な場合に備えて、HTML の一部を次に示します。

  <table id='movies'>
    <thead>
      <tr>
        <th>Movie Title</th>
        <th>Rating</th>
        <th>Release Date</th>
        <th>More Info</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td>Aladdin</td>
        <td>G</td>
        <td>1992-11-25 00:00:00 UTC</td>
        <td><a href="/movies/1">More about Aladdin</a></td>
      </tr>

ありがとうございました!

4

2 に答える 2

0

問題は、ここで定義したステップ自体ではなく、これらの1つと競合するステップを他の場所で定義したことです。ここで意味がある場合は、そのステップを再利用するか、競合しないステップを作成する必要があります。

于 2012-10-27T09:27:43.747 に答える
0

michaeltwofish が言ったように。同じことを行うステップが定義されている可能性があります。ステップの 1 つを削除してみてください。

メソッド/定義が重複している場合。「And」を使用した定義と「Then」を使用した別の定義で、同じことを行うものは、同じメソッドとしてカウントされます。

And/When/Then/Given は基本的に同じものです。彼らは、ユーザーストーリーの流れをより読みやすいマナーにするためだけにサーバーを提供します

この追加情報がお役に立てば幸いです。

于 2012-11-05T05:38:32.497 に答える