Как мы тестируем модель Rails, которая не имеет эквивалентной таблицы в бэкэнде, используя RSpec - PullRequest
1 голос
/ 21 ноября 2011

У меня есть модель Moderator , которая в основном запрашивает результаты статистики, связанные с веб-сайтом, из других моделей.

Например, отображаемая статистика может быть общим числом пользователей, принадлежащих к определенной области из многих районов города.Ограничение количества таких записей фиксированным числом.Для этого тело, определенное в модели Moderator, использует модель Area .

Поскольку запросы не используют ничего из той же модели, но фактически из других моделей, не было 'Мне не нужно иметь миграцию таблиц в этой модели.

В основном я сейчас пытаюсь протестировать определенные методы в модели Moderator с использованием Rspec.Что я в основном пытаюсь проверить, так это то, что вызов метода должен возвращать успех, что я делаю через: -

subject.send(:method_name)
response.should be_success

Я получаю общую ошибку для всех таких определенных методов, говоря, что database_name.table_name does not exist.Что ж, это правда, но как это должно на самом деле иметь значение? И как обойти это, чтобы просто протестировать простой вариант использования успешного вызова метода в вышеуказанном контексте.

Спасибо.

Ответы [ 2 ]

1 голос
/ 22 ноября 2011

Попробуйте что-то вроде этого

describe Moderator do
  it "should do something" do
    moderator = Moderator.new
    moderator.something.should == "do"
  end
end

Это предполагает, что у вас есть метод something в Модераторе и что он возвращает строку "do".

Я думаю, что RSpec Book предоставляет отличную информацию и примеры, если вы хотите получить более подробные сведения о вашем rspec.

0 голосов
/ 22 ноября 2011

Ну,

У меня сработал следующий код строки: -

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