Тестирование Rust приложений — Андрей Воронов — обложка книги
300 страниц
Rust
PDF
4.5

Тестирование Rust приложений

Практическое руководство по написанию надёжного кода на Rust

Автор:

Год:

Краткое содержимое:

Книга «Тестирование Rust приложений» — это полноценное практическое руководство, которое поможет вам освоить все аспекты тестирования в экосистеме Rust. В отличие от большинства книг по языку, которые лишь поверхностно касаются тестирования, это издание целиком посвящено тому, как сделать ваш код максимально надёжным, используя встроенные возможности Rust и популярные библиотеки.

Книга начинается с основ: вы узнаете, как писать простые модульные тесты с помощью атрибута #[test], как организовать тестовые модули и как использовать макросы assert!, assert_eq! и assert_ne!. Далее автор постепенно переходит к более сложным темам:

  • Интеграционное тестирование: как создавать тесты, которые проверяют взаимодействие между модулями и внешними системами (файловая система, сеть, базы данных).
  • Тестирование асинхронного кода: работа с tokio::test и async-std, написание тестов для асинхронных функций и потоков.
  • Property-based testing: использование библиотеки proptest для автоматической генерации случайных тестовых данных и проверки инвариантов кода.
  • Mock-объекты и заглушки: как изолировать тестируемый код от внешних зависимостей с помощью трейтов и библиотек mockall или mocktopus.
  • Тестирование unsafe-кода: стратегии проверки безопасности и корректности блоков unsafe.
  • Benchmarking и профилирование: как писать бенчмарки с помощью criterion и интерпретировать результаты для оптимизации производительности.
  • Непрерывная интеграция (CI): настройка GitHub Actions, GitLab CI и других систем для автоматического запуска тестов при каждом коммите.

Книга ориентирована на разработчиков, которые уже знакомы с основами Rust и хотят вывести качество своего кода на новый уровень. Вы научитесь не просто писать тесты, а проектировать архитектуру приложений так, чтобы она была удобна для тестирования. Особое внимание уделяется практическим примерам: от тестирования парсера командной строки до проверки работы многопоточного сервера.

В конце каждой главы есть упражнения с решениями, которые помогут закрепить материал. Книга содержит более 200 страниц кода и пояснений, охватывающих реальные сценарии из production-разработки.

Что вы узнаете после прочтения:

  • Как писать модульные, интеграционные и сквозные (end-to-end) тесты.
  • Как тестировать асинхронный и многопоточный код без гонок данных.
  • Как использовать property-based testing для обнаружения редких ошибок.
  • Как настраивать CI для автоматического тестирования и анализа покрытия кода.
  • Как избегать типичных ошибок при тестировании в Rust.

Эта книга — ваш надёжный помощник в создании безопасных, стабильных и производительных приложений на Rust.

Рекомендаций