Количество предметов после выполнения теста не соответствует ожидаемому количеству - PullRequest
0 голосов
/ 12 октября 2011

У меня уже есть пользователь (администратор) в базе данных.Я запускаю тест на огурец и создаю другого пользователя.Я ожидал 2 пользователей после выполнения сценария, но получил 1. Где моя ошибка?Может быть, огурец не считает существующие сущности в БД, если они не созданы с помощью огурца ...

Ответы [ 3 ]

0 голосов
/ 13 октября 2011

Это мой код: В функции:

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

И я не могу войти.

0 голосов
/ 14 октября 2011

Исправлена!Я изменил политику базы данных с «транзакции» на «усечение».Тема закончена

0 голосов
/ 12 октября 2011

Ваша тестовая база данных очищается перед каждым тестом. Вы должны создать Admin как часть ваших шагов Cucumber, вероятно, с «Background:» - лучший способ.

edit Чтобы войти как администратор, сделайте что-то вроде этого:

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

Надеюсь, вы сможете сами написать эти определения шагов. «Учитывая, что я являюсь администратором», просто создаст пользователя-администратора, а «Я вошел в систему» ​​перейдет на страницу входа в систему, войдя как администратор.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...