Или я должен просто поймать SIGPIPE с обработчиком и проигнорировать его?
я полагаю, что это правильно на. Вы хотите знать, когда другой конец закрыл их дескриптор, и это - то, что SIGPIPE говорит Вам.
Sam
Вот некоторая информация: Написание тестов для Twisted кода с использованием Trial
Вам также следует посмотреть -help команды try. В пробной версии много хорошего! Но не всегда легко провести тестирование в асинхронном приложении. Удачи!
Я считаю, что для модульного тестирования в Twisted вы должны использовать TwistedTrial (это основной компонент, т.е. поставляется с архивом Twisted в каталоге twisted / trial. ). Однако, как указано в URL-адресе, на который я указал, документ в основном создается путем просмотра источника (включая источники различных проектов Twisted, поскольку они также тестировались с пробной версией).
Как уже упоминалось, вы должны использовать пробную версию для модульных тестов в Twisted.
Вы также должны проходить модульное тестирование снизу вверх - вот что подразумевает «юнит» в модульном тестировании. Перед тестированием интерфейса проверьте свои данные и логику. Для интерфейса HTTP вы должны вызывать processGET, processPOST и т. Д. С фиктивным запросом, но делать это следует только после того, как вы проверили, что вызывают эти методы. Каждый тест должен предполагать, что модули, протестированные в другом месте, работают так, как задумано.
Если вы говорите по протоколу HTTP или вам нужен работающий сервер или другое состояние, вы, вероятно, проводите тесты более высокого уровня, такие как функциональные или интеграционные тесты. Это неплохо, но вы можете перефразировать свой вопрос.
Существует известная ошибка с Twisted (которая, вероятно, не будет исправлена), когда повторный запуск реактора вызывает сбой.
Вот почему ваше устройство тесты не работают.
Помимо использования Пробной версии , вы можете рассмотреть возможность использования отдельных систем тестирования, которые взаимодействуют с вашим HTTP-сервером, как клиент.