/ / Як запустити тест на джанго в дженкинах, що залежить від селери - пітона, джанго, одиничного тестування, дженкінів, селери

Як запустити тест на джанго в женькинах, які залежать від селери - пітона, джанго, одиничного тестування, дженкінів, селери

У мене є одиничні тести для мого проекту Джанго.

Деякі з поглядів у моєму проекті django виконують завдання селери, і я хочу перевірити базу даних після цих завдань. У мене є окремі тести для селерських завдань, де я їх називаю без .delay() метод

Головною проблемою, який найкращий і найчистіший спосіб мати селерівського працівника під час роботи Дженкінс?

В даний час я просто біжу nohup celery -A myqpp worker & перед тестуванням і вбийте всю працюючу селера в кінці роботи.

Відповіді:

0 для відповіді № 1

Найкращим і найчистішим способом є відсутність будь-яких працівників із селери під час роботи Дженкінс, а також жодної черги / підсумкового результату. Використовувати CELERY_ALWAYS_EAGER налаштування для виконання ваших завдань в блочних тестах локально шляхом блокування, доки завдання не повернеться.

Ознайомтесь із документацією про селери: CELERY_ALWAYS_EAGER документів


0 для відповіді № 2

Просто для того, щоб поширювати відповідь про завжди готовий режим, ви можете побачити мою відповідь на інше питання, як ви можете запустити селери працівника з тесту setUp https://stackoverflow.com/a/42107423/590233

Але тут потрібно зробити декілька трійок:

  1. З'єднати селери працівником для тестування дБ

  2. Якось запустіть екземпляр брокеру повідомлень ... (я думаю, що ви запускаєте його вже перед тестуванням, але найчистішим способом є створення екземпляра брокеру з setUp як селери)