GitLab CI: как симулировать пользовательский ввод с консоли - PullRequest
0 голосов
/ 03 июля 2018

У меня есть файл .gitlab-ci.yml, похожий на этот:

image: python:3.6

before_script:
- pip install -r .requirements

test:
  script:
  - python main.py --arg myArg

Python-скрипт main.py является программой командной строки и ожидает некоторого ввода от пользователя, который запрашивается с помощью input:

userName = input("Please input your name:")

Я знаю, что, возможно, мне не следует называть этот скрипт на Python для непрерывной интеграции, и у меня также есть модульные тесты для всех других скриптов, которые можно протестировать нормально. Но тем не менее, я хотел бы знать, если это возможно каким-то образом смоделировать ввод пользователя, указав его в самом yml.

У кого-нибудь есть идеи?

1 Ответ

0 голосов
/ 10 марта 2019

python main.py --arg myArg < answersFile.txt или ...

printf "Answer1\nAnswer2\nAnswer3\n" | /path/to/main.py --arg myArg.


Они будут запускать main.py и вводить ответы в порядке их запроса.

...