Есть ли способ автоматически протестировать с помощью стандартных тестовых и т. Д. Модулей, будет ли программа Perl считывать входные данные, например. STDIN правильно? Например. тестирование программы, которая считывает два целых числа из STDIN и печатает их сумму.Perl: Тестирование считывателя ввода?
ответ
Это не на 100% понятное, что вы имеете в виду, я буду думать, что вы хотите написать тестовый скрипт, который проверяет вашу основную программу, которая, как часть теста, должна иметь тестовые входные данные, передаваемые через STDIN.
Вы можете легко сделать это, если ваша программа выводит то, что читает. Вам не нужен специальный тестовый модуль - просто:
Позвоните в программе тестирования с помощью вы как раз системного вызова
перенаправлять как STDIN и STDOUT испытуемой программы тестового сценария, используя
IPC::Open2
модуль, чтобы открыть обе стороны с помощью трубы до дескрипторов файлов,... ИЛИ, построить свою команду, чтобы перенаправить в/из файлов и чтения/записи файлов в тестовом скрипте
Проверка STDOUT от тестируемой программы, собранной на последнем этапе к убедитесь, что правильные значения напечатаны.
Если вы хотите проверить, если STDIN подключен к терминалу, использовать -t
, как:
if(-t STDIN){
print "Input from a terminal\n";
}else{
print "Input from a file or pipe\n";
}
См http://perldoc.perl.org/perlfunc.html#Alphabetical-Listing-of-Perl-Functions
- 1. обнаружение ввода считывателя штрих-кода
- 2. Разработка Perl & тестирование Perl
- 3. Тестирование приема сообщения считывателя DDS для теста java unit
- 4. Чтение считывателя USB-считывателя RFID с Bash
- 5. Как тестировать блок чтения считывателя Excel?
- 6. Отсутствует линия при чтении с использованием считывателя потока ввода
- 7. Должен ли поток ввода быть закрыт после закрытия буферизованного считывателя?
- 8. Использование буферизованного считывателя для добавления пользовательского ввода в массив
- 9. Тестирование поддержки портов ввода-вывода
- 10. кластер данных и тестирование ввода
- 11. Тестирование ввода со словарем (Python)
- 12. Экранная заставка для считывателя экрана
- 13. Производительность XML-считывателя
- 14. ExecuteNonQuery внутри считывателя
- 15. Стандарты RFID-считывателя
- 16. Значение изменения Считывателя интерфейса
- 17. Параметры привода считывателя загрузчика
- 18. Возможности UHF RFID-считывателя
- 19. Java BufferedReader, сброс считывателя
- 20. Тестирование многоадресной рассылки с perl PortState
- 21. Автоматическое тестирование скриптов Perl CGI в дистрибутиве
- 22. Тестирование строки запроса в unicode в Perl
- 23. Тестирование различных типов хеш-значений в Perl?
- 24. Perl тестирование фальшивый хеш ссылка return
- 25. Тестирование для LibreSSL в скрипте сборки Perl
- 26. Селен данные приводятся тестирование в Perl
- 27. Perl и SNMP - параметры ввода
- 28. Разделение ввода на ведра - Perl
- 29. Perl CGI Тип ввода FILE
- 30. Проблема ввода-вывода файла Perl
'использовать Data :: Dumper; распечатать Dumper '? –
TLP
Сначала перенаправьте STDIN в файл или даже DATA-сегмент в тестовом скрипте. Во-вторых, убедитесь, что ваше чтение произвело ожидаемые значения. – DavidO
Спасибо, это именно то, что я хотел сделать! Просто увидел это, но мне, в конце концов, удалось разобраться в этом самостоятельно: попробуйте открыть файл с тестовыми входами как STDIN; Таким образом, входы автоматически передаются в тестируемую программу, как если бы они поступали из командной строки. – draeklae