Rspec тестирование без базы данных - PullRequest
0 голосов
/ 05 сентября 2018

Ребята терпите меня на этом. Моя управленческая команда попросила меня сделать что-то вроде ниже, и я был бы очень признателен за любые предоставленные советы.

Допустим, у меня есть контроллер с кодом ниже:

class ListsController < ApplicationController
  def show
    @list = List.create(slug: params[:slug], something: params[:something])

    render 'home/index'
  end
end

Теперь я хочу протестировать этот кусок кода с помощью rspec, но нет базы данных для сохранения или получения объекта (ну, раньше был один, но нас попросили удалить его при запуске тестов).

Итак, мой вопрос:

  1. Первый. Можно ли вообще проверить это без БД?
  2. Если да, то как?

До сих пор я пытался использовать nulldb gem для удаления зависимости db. Но проблема возникает, когда созданный объект не может быть восстановлен. Я пытался заглушить и насмехаться над созданным объектом, но пока он не работал. Даже если это произойдет, потребуются целые годы, чтобы выполнить это заявление и протестировать его.

Edit:

Я тоже пробовал factory_bot. Но это только помогает создать экземпляр объекта. Но как я могу получить их позже?

Дайте мне знать, если вам нужно что-то понять, или я что-то пропустил. Ребята, любая помощь приветствуется.

1 Ответ

0 голосов
/ 31 января 2019

Я использовал nulldb gem для замены адаптера базы данных.

...