В настоящее время пишу несколько тестов для моих моделей.У меня есть одна модель, которая называется Блог, когда пользователь создает блог, и наблюдатель публикует сообщение в ленте новостей пользователя.Один из моих тестов проверяет, что это делается.Этот тест, однако, не проходит в среде тестирования, выполнение той же функции в консоли работает безупречно, что приводит меня к мысли, что rspec работает быстро и не ждет, пока наблюдатель закончит свою работу.Есть ли способ обойти это?Я пробовал спать, но это, похоже, не работает.
Это общий дизайн.
Блог создан Обозреватель замечает, создает новый канал новостей и передает новый объект Блог.и он получает правильное сообщение новостной ленты, вызывая метод объекта Blog.Newsfeed добавляет блог в свой список newsfeed_items и сохраняет себя.
Спецификация не выполняется, потому что она не ждет, пока наблюдатель завершит свою задачу, и вызывает его метод after для эффективного удаления объекта, прежде чем объект ленты новостей сможет получить от него сообщение обратно.