Тестирование рельсов Metal / Rack с RSpec? - PullRequest
3 голосов
/ 15 марта 2010

Скажем, у меня есть класс Metal с именем Preview. Как мне проверить это с RSpec?

Когда я пытаюсь:

require 'spec_helper'

describe Preview do

  it "should return the posted content" do
    post "/preview", :content => "*title*"
    response.body.should == "*title*"
  end

end

Я получаю:

undefined method `post' for #<ActiveSupport::TestCase::Subclass_1:0x1058b3098>

Похоже, что RSpec не загружает метод :post, если тест явно не для контроллера. Я пытался указать :type => :controller безрезультатно.

Ответы [ 3 ]

6 голосов
/ 16 марта 2010

rspec имеет спецификации интеграции, которые оборачивают интеграционные тесты рельсов (которые проходят через стойку) Просто поместите эту спецификацию в ./spec/integration/preview_spec.rb.

1 голос
/ 15 марта 2010

Я думаю, что лучше тестировать с помощью стойки / test

0 голосов
/ 01 декабря 2010

В настоящее время (rspec-rails 2.2.0 и rails 3) вы можете достичь этого, используя Запросить спецификации :

В соответствии с файлом readme :

Запросить спецификации в спецификации / запросах

[...]

Запросить поведение спецификаций из интеграционных тестов Rails. См. Документы для ActionDispatch :: Integration :: Runner для получения дополнительной информации.

...