Вопрос о огурцах / соленых огурцах

Я пытаюсь поближе познакомиться с Rails / ActiveRecord. Пытаясь сделать это, я пытаюсь использовать Cucumber, чтобы помочь с некоторыми «открывающими» тестами.

У меня есть следующие

Feature: Describing a task
  In order to work with tasks
  As a user
  I want to be able to know what makes up a task and to improve my understanding of ActiveRecord


Scenario: A task has certain core fields
  Given the following tasks exist
  | id | name      |
  | 1  | some task |
  And the following estimates exist
  | task_id | hours | explanation                           |
  | 1       | 8     | initial estimate                      |
  | 1       | 6     | better undertsanding of task          |
  | 1       | 16    | no control over inputs to create task |
  | 2       | 22    | for other task |

Then a task: "task" should exist with name: "some task" #this works
Then the estimate "estimate" should exist with explanation: "initial estimate" #this works
Then the estimate "estimate" should be one of task: "task"'s estimates #this works
Then the task "task" should have 3 estimates  #this one fails

ИЗМЕНИТЬ

У меня нет настраиваемых шагов - пытаюсь использовать то, что идет из коробки, с огурцом и соленым огурцом (просто чтобы уменьшить мою путаницу).

Модели

class Estimate < ActiveRecord::Base

  belongs_to :Task, :class_name => "Task", :foreign_key => "Task_id"

end

и

class Task < ActiveRecord::Base
  has_many :estimates
end

Может ли кто-нибудь указать мне в правильном направлении (или если мне нужно опубликовать больше кода)?

Спасибо,

Джо


person Joe    schedule 21.01.2010    source источник
comment
Можете ли вы опубликовать свои шаги / модели, пожалуйста.   -  person jonnii    schedule 22.01.2010


Ответы (1)


Ваш оценочный класс может выглядеть так:

class Estimate ...
  belongs_to :task
end 

Он выведет имя таблицы и fk, и если вы следовали идиомам базы данных rails, все должно работать.

Что касается ваших шагов cuke, я никогда не использовал рассол, поэтому я не уверен, что с этим происходит, но если шаг, который не удается, следующий:

Then the task "task" should have 3 estimates  #this one fails

Возможно, это связано с изменением, которое я описал выше (может быть, что-то странное происходит с именем таблицы ??).

person jonnii    schedule 22.01.2010