質問

キュウリとカピバラを使用してリストのソートをテストする方法はありますか?ソートは、JavaScriptを使用してクライアント側に行われます。

私は次の線に沿って何かを考えていました:

Then I should see "first element" and then I should see "second element"

残念ながら、ステップを構築する方法がわかりません。

助けてくれてありがとう!

役に立ちましたか?

解決

テストしているストーリー(プレーン英語に近づきたい)とテストの実際の実装(step_definitionsに隠されている)を分離することをお勧めします。

テストするものに応じて、これに取り組む方法はいくつかあります。最初のケースでは、Cuke Testは非常に読みやすく、ステップ定義を正しく実装することに要約されます。

Given that I am on page xyz
And I have a list
Then I should see the list in sorted order

この場合、リストを持つことの意味を定義する必要があります(必要に応じてステップDEFで@Listに割り当てることができます)、そして並べ替えられた順序でリストを表示することの意味(ここで合格できますアイテム2の前にアイテム1を確認することを保証する正規表現など)

あるいは、cukeのテストでもっと冗長になるのが好きなら、次のようなことをすることができます。

Given that I am on page xyz
Then I should see /item1.*item2.*item3/

リストがすでに入力されていると仮定しています。

リストがどこにあるかによっては、 within Scope param。

キュウリは機能的なテストや統合テストに最適ですが、おそらくこのソートをユニットテストするための適切なツールではないことを忘れないでください(すべてのエッジケースを見てください)。ユニットテストレベルでソートをテストするには、Qunitを使用することを強くお勧めします。 Qunitテストは静的なページであるため、Capybaraの一部としてテストを実行するためのこのトリックを試してください。

Given I am on "/test/path/to/qunit/tests"
Then I should see "Whatever Title You have Assigned"
And I should see "0" within "//p[@id='qunit-testresult']/span/[@class='failed']"
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top