2010-12-10 3 views
3

キュウリとカピバラでリストのソートをテストする方法はありますか?ソートはクライアントサイドでjavascriptで行われます。キュウリとカピバラでテストソート

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

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

は、残念ながら、私はステップを構築するアプローチするか見当がつかない。

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

+4

* *「キュウリとカピバラとソートテストは」悪い冗談の開口部のように聞こえる... ;-) –

答えて

7

テストしているストーリー(単純な英語に近づきたい)とテストの実際の実装(step_definitionsには表示されません)を分けることをお勧めします。

テストする内容に応じて、これに対処する方法はいくつかあります。最初のケースでは、cukeテストは非常に読みやすいですし、それが正しくステップの定義を実装するに沸く:

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スコープパラメータを使用する必要があります。

キュウリは、機能テストや統合テストには最適ですが、ソートの単位テスト(すべてのエッジケースを見てください)にはおそらく適切なツールではありません。単体テストレベルでソートをテストするには、QUnitを使うことを強くお勧めします。

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']" 
+0

:QUnitのテストは静的なページであるため、カピバラの一部としてテストを実行するために、このトリックを試してみてください正規表現 - なぜ私はそれを考えなかったのですか? –