Я переместил наш тестовый фреймворк в док-контейнер. Одна из моих целей - сделать так, чтобы мы могли раскрутить 1 контейнер за тест и затем сообщить о его результатах.
У меня это работает со следующим [пожалуйста, помните, что это WIP]:
api_test_runner.py
import subprocess
from api_test_list import single_test_list
for test in single_test_list:
command = subprocess.check_output(['docker', 'run', '-e', 'USER=root', '-e', 'TEST=' + test, 'api_test_container'])
print(command)
Он запускает список тестов и раскручивает контейнер для каждого, но ожидает остановки одного контейнера, прежде чем перейти к следующему тесту:
(py3_api_automation) remmac05674:api_automation$ python api_test_runner.py
b'============================= test session starts ==============================\nplatform linux -- Python 3.6.4, pytest-3.2.5, py-1.5.2, pluggy-0.4.0\nrootdir: /app, inifile:\nplugins: xdist-1.20.1, forked-0.2, cloud-2.0.0\ncollected 1 item\n\ntest_1.py .\n\n=========================== 1 passed in 1.81 seconds ===========================\n'
b'============================= test session starts ==============================\nplatform linux -- Python 3.6.4, pytest-3.2.5, py-1.5.2, pluggy-0.4.0\nrootdir: /app, inifile:\nplugins: xdist-1.20.1, forked-0.2, cloud-2.0.0\ncollected 1 item\n\ntest_2.py .
Я пытаюсь разобраться в том, как заставить python выполнить список тестов и запустить контейнер для каждого из них, а не ждать завершения других контейнеров.