Bla*_*man 5 ruby rspec ruby-on-rails cucumber
只是想确保我理解事情.
从我到目前为止收集的内容来看,Cucumber只是一个"包装器"或组织测试的好方法,它将事物分类为特征和步骤,其中实际的单元测试处于步骤阶段.
它允许将测试组织成事物的工作方式.
那是对的吗?
有点.
这是一种组织测试的方法,但不止于此.它的行为类似于原始的Rails集成测试,但更容易使用.这里的最大胜利是你的会话在整个过程中保持透明Scenario.
使用Cucumber的另一件事是,您(应该)使用您的代码从浏览器或客户端的角度进行测试.如果您希望可以使用步骤来构建对象和设置状态,但通常您希望您的步骤首先完成实现该状态所需的动作.
例如,你可以这样做:
Given /I have a user account/ do
@user = Factory.create(:user)
# ... more user set up
end
Run Code Online (Sandbox Code Playgroud)
但你应该做这样的事情:
Given /I have a user account/ do
visit new_user_url
fill_in "user_login", :with => "some name"
fill_in "user_password", :with => "foo"
# ... whatever else your sign up page needs
end
Run Code Online (Sandbox Code Playgroud)
当然,您可以将参数传递给其中任何一个步骤,以使您的调用代码对步骤的行为进行更细粒度的控制.
我通常用我的测试做的如下.
当然,我仍然为我的模型,库,助手等编写Rails单元测试.
| 归档时间: |
|
| 查看次数: |
532 次 |
| 最近记录: |