Missing Testing Features in Rust
summary
A new Rust test framework called test-r implements shared dependencies (async constructors scoped per module), a dependency matrix for generating many permutations, and dynamic test generators that act like static tests; it runs under cargo test, integrates with IDE test views (works in IntelliJ/Rust Analyzer, not VS Code), supports async tests, and is used in Golem Cloud CI. Tradeoff: output capturing, parallelism and truly global shared instances cannot all be enabled simultaneously, so the runner spawns child processes to preserve capture.
AI-written summary · about
chapters (14)
- 0:00Introduction
- 0:43Past testing frameworks
- 3:35Scala and Zo testing
- 4:58Golem’s testing needs
- 7:04Introducing Tester
- 7:24Tester core features
- 9:14Shared dependencies in Tester
- 12:02Dependency matrix and tags
- 14:30Flaky tests and control
- 15:34Dynamic test generation
- 16:36How Tester works
- 18:07Output capturing
- 20:55Future plans
- 22:21Conclusion and Q&A
related talks
15mTesting My Patience: An Exploration of Testing in Rust
32mTesting strategies and pattern for efficient TDD in Rust
40mProperty-testing async code in Rust to build reliable distributed systems
28mBuild bigger in less time: code testing beyond the basics
40mWhy Rust?
58mRust for The Curious C++ Developers
47mWhat's unique about Rust?
24mThe Integration of Rust with Kernel Testing Service
