Тестирование Django - дождитесь готовности подпроцесса - PullRequest
0 голосов
/ 24 октября 2018

Я использую pouchdb-server для создания базы данных в памяти, чтобы выполнить мой тест со следующим кодом:

class CouchdbTestCase(TestCase):
    def setUp(self):
        self.proc = subprocess.Popen('pouchdb-server --in-memory', shell=True)
        time.sleep(1)

    def tearDown(self):
        process = psutil.Process(self.proc.pid)
        for proc in process.children(recursive=True):
            proc.kill()
        process.kill()

time.sleep (1) есть, иначе тестыработал до того, как сервер в памяти был готов

Есть ли более изящный способ убедиться, что сервер готов без такого долгого ожидания?

edit: я получил комментарий, которыйshell = True, возможно, не требуется.Обратите внимание, что этот код работает в Windows и не работает, если он удален.

...