2016-08-05 5 views
1

Ich frage mich, ob es eine Möglichkeit gibt, die Szenarien von Protractor in Kontexte zu gruppieren, wie es in Capybara möglich ist? Wenn ich beispielsweise Tests für Post-Privacy-Einstellungen schreibe, könnte ich einen Kontext für den Benutzer haben, der nicht angemeldet ist, und den Kontext für den angemeldeten Benutzer, der sich in verschiedene Szenarien auf Basis der Beziehung zwischen den Benutzern aufteilt. Ein weiteres Beispiel:Gibt es eine Möglichkeit, die Szenarien von Protractor in Kontexte zu gruppieren?

feature 'allows user to share' do 
    let!(:post) { create :post } 

    before do 
    create :feed_post, user: user, post: post 
    app.sign_in user 
    end 

    context 'with comment' do 
    subject { feed.share_modal } 

    before { feed.posts.first.share_post } 

    scenario { is_expected.to have_content t('social_sharing.new.title') } 
    scenario { is_expected.to have_button t('social_sharing.new.action') } 

    context 'sharing with a comment' do 
     before do 
     feed.share_modal.comment_on_share 'a nice comment' 
     feed.share_modal.submit_share_form 
     feed.wait_until_share_modal_invisible 
     end 

     scenario 'closes the modal' do 
     expect(feed).to have_no_share_modal 
     end 

     scenario 'shows shared message' do 
     expect(feed.posts.first) 
     .to have_content "#{user.name} shared #{post.user.name.possessive} post" 
     expect(feed.posts.first).to have_content 'a nice comment' 
     end 
    end 
    end 
end 

Kontext ermöglicht es mir, die Spezifikationen DRY zu machen, weil ich ein, bevor Block innerhalb hinzufügen kann, die Schritte enthält, die in dem Kontext für Szenarien wiederholen. Ist das mit dem Winkelmesser möglich?

+0

Fragen Sie vielleicht [über Spezifikationen vs Suites] (http://StackOverflow.com/Questions/30331018/Suites-VS-Specs-Protractor)? – alecxe

Antwort

1

Kurze Antwort auf Ihre Frage ist - Nein, gibt es keine direkte Möglichkeit ist in Winkelmesser wie Kontexten in Capybara, Da Sie von Rails Hintergrund kommen lassen Sie mich einige kurze Einblicke in Winkelmesser geben:

  • Protractor a Das Programm node.js wurde auf webdriver.js gebaut, so dass alle Methoden asynchron sind und Versprechen zurückgeben.
  • Das Standard-Testframework für Winkelmesser ist derzeit Jasmine2.0.

Jetzt Ihre Angaben DRY Sie haben zwei gute Möglichkeiten:

Verwandte Themen