我想知道是否有一种方法可以将Protractor的场景分类到像Capybara这样的环境中?
例如,如果我正在为后期隐私设置编写测试,我可以为未登录的用户创建上下文,为登录用户创建上下文,根据用户之间的关系划分为不同的场景。 另一个例子:
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
Context允许我制作规范DRY,因为我可以在其中添加一个包含在上下文中重复场景的步骤。量角器有可能吗?
答案 0 :(得分:1)
对你的问题的简短回答是 - 不,在量角器中没有直接的能力,例如水豚的情境,因为你来自Rails背景,让我给一些关于量角器的简要见解:
Jasmine2.0
。现在要干你的规格,你有两个不错的选择:
hooks
来干燥您的规格。杰夫写了一篇很好的帖子 - http://www.assertselenium.com/angularjs/protractor-jasmine-pre-post-processing-methods/ CucumberJS
作为测试框架。我有一篇关于此的文章 - http://www.assertselenium.com/bdd/e2e-testing-with-protractor-cucumber-js/ :)
您可以在黄瓜中使用background
,与capybara中的contexts
完全相同!