У меня есть приложение командной строки для окон (которое задает ряд вопросов через командную строку), разработанное в Голанге, и я хотел бы написать интеграционные тесты для этого приложения.Я посмотрел на https://github.com/zetamatta/expect. Он может имитировать вывод для каждого задаваемого вопроса.Пример:
expect("Enter installer name")
send("xxx\r")
expect("Execute it?")
send("y\r")
..
..
..
Приложение golang выполняет некоторую обработку на основе различных заданных вопросов и ответов на них.Он действительно устанавливает некоторые вещи.Если бы я должен был написать интеграционные тесты, используя этот пакет, как он показывает, был ли это проход или неудача?
Мой скрипт lua выглядит так:
echo(true)
if spawn([[C:\test.exe]]) then
expect("Enter installer name?")
echo(true)
send("xxx\r")
expect("Install it?")
send("y\r")
expect("~]$")
echo(true)
send("exit\r")
end
Я выполняю как:
expect.exe sample.lua
Работает нормально и автоматически принимает вышеуказанные входные данные для вопросов, не вводя их вручную.Однако, в конце, как мне организовать это как тест, чтобы показать, что все прошло успешно или не удалось.В конце концов мне потребуется написать несколько таких тестов для всех возможных и негативных сценариев.