执行测试后的项目数量与预期数量不匹配
问题描述:
我有一个用户(管理员)已经存在于数据库中。我运行黄瓜测试并创建另一个用户。我在执行场景后期待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
希望你能写那些步骤定义自己。 “鉴于我是管理员”只会创建一个管理员用户,并且“我已登录”将通过登录页面,以管理员身份登录。
答
这是我的代码: 在功能:
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'。 线程完成
如果它被清除,我如何使用管理员帐户登录?而当我在创建另一个执行行“给定我有1个用户”之前,我有1(真)。 –
这种行为是否会干扰Test :: Unit的灯具? –
看我的编辑@Mochnatiy – bricker