У меня есть отдельный фиктивный веб-сервер в моем проекте, который необходимо выполнить перед запуском тестов.
В любой среде Linux (если быть точным, Travis) я могу запустить команду как задание с помощью &
.На Travis я делаю ниже на before_script
:
python tests/server.py &
Однако Windows - это другая среда, и, как я видел на некоторых ресурсах, старый добрый cmd
не поддерживает функциональная функциональность, как в системе Linux.Я видел несколько хакерских решений и пробовал их, но не повезло, я смотрел и остановил сборку на Appveyor вручную.
Я также безуспешно пробовал некоторые команды Powershell.То, что я пробовал в before_test
:
ps: 'Start-Process -NoNewWindow "python.exe tests/server.py"'
ps: 'Start-Process -NoNewWindow "${$ENV:PYTHON}\\python.exe tests/server.py"'
ps: 'Start-Process -NoNewWindow "${ENV:PYTHON}\\python.exe tests/server.py"'
ps: 'Start-Process -NoNewWindow "$env:PYTHON\\python.exe tests/server.py"'
ps: "Start-Process -NoNewWindow { $ENV:PYTHON\\python.exe tests/server.py }"
ps: "Start-Process -NoNewWindow { %PYTHON%\\python.exe tests/server.py }" # this does not work since, apparently, ps does not support %-surrounded variables
Я пробовал это, или у меня есть что-то похожее на Unexpected token
или File not found on specified path.
, в то время как Powershell даже не сказал, какой файл не могнаходить (это было [i] PATH_TO_PYTHON/python.exe
или [ii] tests/server.py
, на которое он жаловался?).
Unexpected token
ошибка не была .appveyor.yml
.Сборка началась успешно и install
шаг был выполнен.
Как мне запустить команду before_test
в AppVeyor и переместить ее в фоновый режим?