簡體   English   中英

用Cucumber和Capybara進行測試分類

[英]Test sorting with Cucumber and Capybara

有沒有辦法用Cucumber和Capybara測試列表的排序。 使用javascript在客戶端完成排序。

我正在思考以下問題:

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

不幸的是,我不知道如何構建這些步驟。

謝謝您的幫助!

將您正在測試的故事(您希望接近簡單的英語)和測試的實際實現(隱藏在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。 由於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 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM