На главную
ПРАВИЛА FAQ Помощь Участники Календарь Избранное DigiMania RSS
msm.ru
Коротко о разделе:
Здесь разрешается создавать темы, относящиеся к любому языку программирования, для которого не существует раздела на форуме (например, Lisp, Tcl/Tk, FORTRAN и т.д.). Если раздел для нужного Вам языка есть, большая просьба создавать тему в нем.
Вопросы, связанные с JScript, Perl, PHP обсуждаются в разделе WWW Masters.

Обратите внимание:
1. Прежде чем задать вопрос, воспользуйтесь поиском. Возможно, Ваш вопрос уже обсуждали.
2. Если Ваш вопрос связан с конкретным языком программирования, обязательно укажите название языка в имени темы.
3. Постарайтесь давать темам информативные названия. Темы с названиями типа "Помогите, горю" будут удалены.
4. Помните, чем грамотней будет задан Ваш вопрос, тем больше будет у Вас шансов получить на него ответ. Как правильно задавать вопросы
5. Ипользуйте тег [ code ] ...текст программы... [ /code ] для выделения текста программы.

Просьбы выполнить какую-либо работу за автора в этом разделе не обсуждаются. Темы с подобными просьбами будут перемещены или удалены. Для заказов у нас существуют специальные разделы: Разовые заказы и подработка, ПОМОЩЬ СТУДЕНТАМ.

Если кто не понял (а такие есть) — чтобы за вас решали ваши задачки, идите на другие ресурсы.

Полезные ссылки:
Есть. ;)
Наши Исходники | GPSS (en), GPSS (ru) (!) | Common Lisp | Tcl/Tk | Haskell | Lua
Модераторы: B.V.
  
> [python] автоматическое тестирование интерактивного консольного приложения
    Есть необходимость протестировать консольное приложение с интерактивным вводом.

    Не уверен что выражаюсь однозначно-правильными терминами, поэтому поясню:
    1. Есть консольное приложение, которое после запуска просит пользовтеля ввести данные в консоли.
    2. После получения ввода, приложение каким-то образом изменяет свое внутреннее состояние, а затем выдает вывод в консоль.
    3. Если приложение не завершилось, то оно запрашивает у пользователя очередную порцию данных, затем переходим на пункт 2

    Нужно:
    - Запускать приложение
    - Передавать ему данные через консоль, имитируя ввод пользователя
    - Считывать вывод и иметь возможность принимать решение на основе этого вывода
    - Одновременно тестировать несколько копий этого приложения
    - Иметь возможность принудительно завершить одно из тестируемых приложений

    Желательно:
    - Использовать python
    - Не использовать платформо-зависимый код

    Тестируемое приложение сейчас тоже написано на python, но, в идеале, нужна возможность тестировать такое приложение вне зависимости от языка.


    Что можно использовать для этих целей?
    Честно говоря, даже не знаю как такое гуглить. Достаточно было бы и этого.
    Сообщение отредактировано: WhyNot -
      В библиотеке есть класс Popen. Не пользовался, но похоже он позволяет подключиться к stdin/stdout/stderr консольного процесса.
      Всё написанное выше это всего лишь моё мнение, возможно ошибочное.
        Да, Popen - как раз то что нужно
          Как воспользовался, не напишешь? Задача нетривиальная, может кому ещё пригодится.
          (Свою задачу раскрывать не надо - например, для такой программы:
          ExpandedWrap disabled
            name = input('Your name: ')
            print('Hello,', name)
          Всё написанное выше это всего лишь моё мнение, возможно ошибочное.
          0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
          0 пользователей:


          Рейтинг@Mail.ru
          [ Script Execution time: 0,0863 ]   [ 17 queries used ]   [ Generated: 20.08.19, 05:16 GMT ]