У меня есть набор тестов для приложений, которые выполняют много HTTP-запросов.
Это число меняется каждый раз, когда вы запускаете тесты. Существует ли команда или программа Unix, которая "слушает" другую программу, считающую ее http-запросы?
У меня есть набор тестов для приложений, которые выполняют много HTTP-запросов.
Это число меняется каждый раз, когда вы запускаете тесты. Существует ли команда или программа Unix, которая "слушает" другую программу, считающую ее http-запросы?
Вы можете отслеживать системные вызовы вашего приложения с помощью truss
/trace
/strace
/... (имя, синтаксис командной строки и формат вывода зависят от ОС) и отслеживать вызовы connect
. Если ваше приложение также использует не-HTTP сеть, вам, возможно, придется немного поработать, чтобы отфильтровать соответствующие соединения.
Вы можете использовать LD_PRELOAD
или отладчик, чтобы изменить функцию, которая создает HTTP-соединения. Но это может быть слишком навязчиво для теста.
Вы можете поместить простой прокси между вашим приложением и сетью. И perl, и python поставляются с библиотеками, которые сделали бы его программой из 10–20 строк. Этот подход я бы предпочел, если вы специально не тестируете поведение своего приложения на конкретном сервере или прокси.