2011-08-02 12 views
2

私はHTMLタグをテストするためのキュウリのシナリオを持っています。キュウリの機能のHTMLタグ

Scenario: enter words 
    Given I enter "cat,dog" 
    When I set tag to "li" and the class to "word" 
    Then I should see "<li class=\"word\">cat</li>" 
    And I should see "<li class=\"word\">dog</li>" 

これは、このシナリオを記述する正しい方法ですか?

+0

おそらくそうではありませんが、あなたのシナリオが実際に意味すると思われることは分かりません。あなたはいくつかの背景を与えることができますか? –

+0

これは、HTMLエディタのインターフェイスをテストしているかどうかによって異なります。もしそうなら、正しいかもしれない;) – oliverbarnes

答えて

2

シナリオを平易な英語で読むことを目指してください。私が開発者でなければ、シナリオは私にはあまり意味がありません。

Then I should see cat within a word list element 

は、このためのステップは次のようになります:あなたはこのような何か行うことができます

Then /^(?:|I)should see "([^"]*)" within (.*)$/ do |text, parent| 
    with_scope(parent) do 
    if page.respond_to? :should 
     page.should have_content(text) 
    else 
     assert page.has_content?(text) 
    end 
    end 
end 

キュウリ・ジェネレータは、すでにwith_scope方法を提供しなければならないのが、ここではとにかくです:

module WithinHelpers 
    def with_scope(locator) 
    locator ? within(*selector_for(locator)) { yield } : yield 
    end 
end 
World(WithinHelpers) 

ロケータのcase文の中の機能/サポート/セレクタのセレクタをselectors.rbに必ず追加してください:

module HtmlSelectorsHelpers 

    def selector_for(locator) 
    case locator 

    when ' a word list element' 
     'li.word' 
関連する問題