Я создал компонент, который создает std::net::TcpStream
и в течение срока его службы, конечно, читает из него и пишет в него. Теперь я хотел бы написать тесты для этого; это соединяется с правильным адресом? Отправляет ли правильные данные? Может ли он обрабатывать получение неверных данных? Однако, поскольку я только начал использовать Rust, например, три дня go, я не уверен, что делать дальше. В Java (что я делал значительно дольше, чем в Rust) у меня были бы по крайней мере следующие возможности:
- Создать тестовый TCP-сервер для сбора отправленных на него данных и управления тем, что происходит отправлено обратно.
- Извлеките операции ввода-вывода в черту, реализуйте эту черту для
TcpStream
и TestTcpStream
и используйте TestTcpStream
во время тестов.
Rust предлагает что-то еще, о чем я еще не знаю?
(Чтобы уточнить: я не ищу , как сделать что-либо из этих вещей, я, вероятно, могу понять, что, я просил больше возможностей, чем два, которые я перечислил.)