我有两种型号:用户和 Car ,具有以下关联:
User has_many Car
Car belongs to User
我正在创建一个用于编辑汽车的功能,这是我到目前为止所拥有的:
Feature: Edit car for a user
In order to edit cars of my user
As a user
I should be able to edit existing users related to my account
Scenario: User is signed in and edits an education with valid attributes
Given I am logged in as a user
And I have the following cars related to my account
Then I want to edit a car...
我实施的唯一步骤是:
Given /^I am logged in as a user$/ do
@user = FactoryGirl.create(:user)
user_sign_in
end
def user_sign_in
visit '/users/sign_in'
fill_in "Email", :with => @user[:email]
fill_in "Password", :with => @user[:password]
click_button "Go"
end
我基本上没有看到如何创建与此用户相关联的汽车,以及如何测试我能够编辑其中一辆汽车?
答案 0 :(得分:0)
然后应该只对Cucumber的wiki进行输出测试。你应该把它变成一个什么时候。
我是黄瓜新手,但我认为你应该做这样的事情(黄瓜喜欢精确的例子):
Given I am logged in
And I have "Ferrari" related to my account
When I edit "Ferrari"
Then "Ferrari" should be modified.
或任何其他车型。
在您的指定中,您可以设置变量。由于您没有测试网站的身份验证功能,因此您只需使用User类方法登录用户即可。它会加快你的测试速度。步骤应如下所示:
鉴于我已登录 - >登录用户
我有...... - > @car = Car.create!(你的参数)
当...... - >这应该修改@car
visit car_edit_path(your car id)
Fill....
Sumbmit
然后 - >确认@car已被修改
在什么时候,你使用你的模型方法来修改汽车,在那时,你验证汽车是否已经改变。