黄瓜测试,我可以编辑用户的相关记录

时间:2012-06-17 03:27:47

标签: ruby-on-rails-3 cucumber associations

我有两种型号:用户 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

我基本上没有看到如何创建与此用户相关联的汽车,以及如何测试我能够编辑其中一辆汽车?

1 个答案:

答案 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已被修改

在什么时候,你使用你的模型方法来修改汽车,在那时,你验证汽车是否已经改变。