Rails 5: есть ли способ запустить один набор тестов для базы данных разработки? - PullRequest
0 голосов
/ 30 июня 2018

Я хотел бы запустить один набор тестов для базы данных разработки. Мой файл seeds.rb заполняет базу данных из CSV, и я хочу убедиться, что данные хранятся в базе данных так, как я ожидаю. Я не хочу запускать все тесты для базы данных разработки, а только для определенного набора.

Я создал интеграционный тест. Я думал, что смогу переключать окружение в #setup, но похоже, что Rails.env = 'development' не имеет никакого эффекта.

require 'test_helper'

class DbTest < ActionDispatch::IntegrationTest
  def setup
    Rails.env = 'development'
  end

  def test_total_settlements
    ...

Можно ли проводить тесты в разных средах? Если да, то как это сделать?

Ответы [ 2 ]

0 голосов
/ 01 июля 2018

На мой взгляд, самым простым решением было бы просто заполнить вашу тестовую базу данных. Вы можете позвонить Rails.application.load_seed до проведения тестов, для которых вам нужны начальные данные.

0 голосов
/ 01 июля 2018

Я бы порекомендовал создать класс для заполнения информации в настраиваемой базе данных, а затем запустить тесты для этого класса. Таким образом, вам не нужно запускать тесты для рабочей базы данных и запускать тестирование столько раз, сколько вам нужно, без необходимости вручную изменять базу данных разработки в случае сбоя начального уровня (например, удаления оставшихся записей).

Получив этот класс, вы можете добавить задачу в свой Rakefile и использовать свой класс:)

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