Рельсы RSpec: диспетчер Тестинг, проверяя, заполнено ли ошибочное Множество модели записями, если новый отчет не может быть создан из-за ошибки проверки

У меня есть все еще довольно простое применение Рельсов, что я хочу развивать использование BDD с Огурцом и TDD с RSpec. В настоящее время я вишу при тесте, где я хочу проверить, что, если новый случай Организатора (это - модель, которую я имею) не может быть создан из-за ошибки проверки. Я хотел бы проверить, что ошибочное Множество объекта, который будет создан, не пусто так, чтобы я мог быть уверен, что сообщения об ошибках доступны для показа их в представлении.

потребуйте 'spec_helper'

опишите OrganizersController, делают rконецer_views

describe "POST 'create'" do

  describe "with invalid arguments" do
    before(:each) do
      request.env["HTTP_REFERER"] = organizers_new_path
      @organizer_args = { :name => "" }
    конец      

    it "should return a non-empty list of errors" do
      post 'create', :organizer => @organizer_args
      @organizer.errors.empty?.should_not be_true
    конец
  конец
конец      

конец

Я развиваюсь на основе Рельсов 3.2.9 с RSpec 2 и огуречными рельсами.

Любые предложения ценятся. Спасибо!

7
добавлено
Просмотры: 1

2 ответы

Необходимо использовать, поручает методу получать переменную экземпляра от действия диспетчера:

assigns(:organizer).errors.empty?.should_not be_true
15
добавлено

Последний предпочтительный синтаксис:

expect(assigns(:organizer).errors.empty?).to_not be_true
11
добавлено
быть верен (никакое пространство)
добавлено автор Tobi, источник