执行测试后的项目数量与预期数量不匹配

时间:2011-10-12 06:18:35

标签: ruby-on-rails-3 cucumber

我的数据库中已存在用户(管理员)。我运行黄瓜测试并创建另一个用户。我在执行一个场景后期望这两个用户,但得到1.我的错误在哪里?可能是黄瓜不计算db中的现有实体,如果它们不是通过黄瓜创建的......

3 个答案:

答案 0 :(得分:0)

每次测试前都会清除您的测试数据库。您必须创建管理员作为黄瓜步骤的一部分,可能使用“背景:”是最好的方法。

编辑要以管理员身份登录,请执行以下操作:

Background:
  Given I am an admin
  And I have logged in

  Scenario: Create a user
    Given I go to the new user page
    And I fill in "email" with "test@user.com"
    And I submit the form
    Then there should be 2 users

希望您能够自己编写这些步骤定义。 “鉴于我是管理员”将只创建一个管理员用户,“我已登录”将通过登录页面,以管理员身份登录。

答案 1 :(得分:0)

这是我的代码: 在功能:

Feature: "Manage Users"
  Background: I should sign in firstly
    Given I am have an administrator
    When I am on the login_page
    And I fill in "session_login" with "administrator"
    And I fill in "session_password" with "password"
    And I press "Sign In"
    Then I should see "You are logged in"

分步骤:

Given /^I am have an administrator$/ do
  User.create!(:login => 'administrator', :locale => 'en', :password => 'password', :email => 'admin@gmail.com')
  User.find_by_login('administrator').should_not be nil
end

我无法登录。

答案 2 :(得分:0)

固定! 我将数据库策略从“事务”更改为“截断”。 线程已完成