gpt4 book ai didi

testing - cucumber vs capybara

转载 作者:行者123 更新时间:2023-11-28 19:38:30 27 4
gpt4 key购买 nike

谁能解释一下这两个平台之间的区别

都是 BDD 的一部分,但我为什么要使用一个或另一个,或者同时使用两者?

最佳答案

Capybara 是一种以人类方式与网站交互的工具(例如访问 URL、单击链接、在表单中键入文本并提交)。它用于模拟用户通过网站的流程。使用 Capybara,您可以编写如下内容:

describe "the signup process", :type => :feature do
before :each do
User.make(:email => 'user@example.com', :password => 'caplin')
end

it "signs me in" do
visit '/sessions/new'
within("#session") do
fill_in 'Login', :with => 'user@example.com'
fill_in 'Password', :with => 'password'
end
click_link 'Sign in'
page.should have_content 'Success'
end
end

Cucumber 是一种编写人类可读测试并映射到代码中的工具。有了它,你可以像这样重写上面的例子:

Scenario: Signup process

Given a user exists with email "user@example.com" and password "caplin"
When I try to login with "user@example.com" and "caplin"
Then I should be logged in successfully

几乎纯文本的解释对于传递给非开发人员很有用,但也需要一些映射到其中的代码才能实际工作(步骤定义)。

通常,如果您正在测试网站,您将使用 Capybara;如果您需要与非开发人员共享这些测试,则使用 Cucumber。这两个条件是独立的,因此您可以单独使用一个条件,也可以同时使用或不使用。

PS:代码片段中也有一些 RSpec。这是必需的,因为 Cucumber 或 Capybara 本身无法测试某些东西。他们依靠 RSpec、Test::Unit 或 minitest 来完成实际的“通过或失败”工作。

关于testing - cucumber vs capybara ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15004918/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com