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

问题描述:

我有一个用户(管理员)已经存在于数据库中。我运行黄瓜测试并创建另一个用户。我在执行场景后期待2个用户,但得到1个。我的错误在哪里?可如果通过黄瓜不创建它们的黄瓜不计算在数据库的现有实体...执行测试后的项目数量与预期数量不匹配

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

编辑要登录为管理员,做这样的事情:

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 "[email protected]" 
    And I submit the form 
    Then there should be 2 users 

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

+0

如果它被清除,我如何使用管理员帐户登录?而当我在创建另一个执行行“给定我有1个用户”之前,我有1(真)。 –

+0

这种行为是否会干扰Test :: Unit的灯具? –

+0

看我的编辑@Mochnatiy – bricker

这是我的代码: 在功能:

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 => '[email protected]') 
    User.find_by_login('administrator').should_not be nil 
end 

,我无法登录

+0

我发现当我尝试登录时,我的数据库不包含任何用户,但是我在第一步创建了它。可能是我没有正确配置一个环境。 –

固定! 我将数据库策略从'transaction'更改为'truncation'。 线程完成