Где направляющие хранят данные, созданные путем сохранения activerecord объектов во время тестов?

Данный ответ неверен. На самом деле это был самый надуманный ответ, а ответ, предоставленный источником, неверен. Реальный ответ - 168.

Это можно сделать двумя способами -

1) 91,2,13,24,12,62,77,82 - здесь, если вы видите и отфильтровываете детали

  _,91,_,2_,13,_,24,_,12,_,62,_,82 
[ 117] Во всех доступных пробелах, которые мы могли бы заполнить 77, это всегда приведет к 7-му слоту, так что общее количество путей 77 может прийти - любое из 7 мест, т.е. 7.

Теперь 91,2,13,24 могут приходить в любом порядке и могут быть расположены, как указано выше, так что всего - 4! и для каждого из 4! аранжировки 77 могут прийти в любом из 7 мест, поэтому ответ - 4! * 7 = 168.

2) Второй способ - существует только 3 возможных последовательности

i) 91,2,13,24,77,12,62,82

 Here 91,2,13,24,77 can come in any order, They will get there respective 
 slots so total 5! ways.

ii) 91 , 2,13,24,12,77,62,82

  Here 91,2,13,24 can come in any order and we have fixed 77 after 12 so total 
  4! ways.

iii) 91,2,13,24,12,62,77,82

   same here with 4! ways 91,2,13,and 24 can come and 77 is fixed after 62.

так всего 5! + 4! + 4! = 168.

6
задан Rich Apodaca 13 January 2009 в 02:13
поделиться

3 ответа

Объекты в тестовой базе данных стираются по умолчанию после того, как каждый тест запущен дизайном. Это сделано, чтобы удостовериться, что каждый из Ваших тестов имеет свою собственную песочницу для проигрывания в этом, не вызывает взаимодействий с тестами перед ним.

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

Однако я верю, изменяете ли Вы Вас test/test_helper.rb файл для высказывания этого:

self.use_transactional_fixtures = false

вместо

self.use_transactional_fixtures = true

Это заставит данные в Вашей тестовой базе данных сохраняться.

ТАКЖЕ: Мой совет специально предназначен для работы с Тестом:: Единица, не RSpec. Однако я предполагаю, что существует подобная установка Вашего spec_helper.rb, который необходимо искать.

13
ответ дан 8 December 2019 в 13:50
поделиться

"Но почему mysql запрашивает не, показывают данных в базе данных, в то время как тест работает?"

Поскольку это находится в транзакции. Если Вы повернетесь, то транзакционные приспособления от Ваших тестов будут работать намного медленнее, чем прежде.

3
ответ дан 8 December 2019 в 13:50
поделиться

Можно наблюдать записи, добавляемые к тестовой базе данных с:

tail -f log/test.log

Необходимо видеть, что транзакции летят тем, поскольку тесты запущены.

1
ответ дан 8 December 2019 в 13:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: