Skip to content
Rust Search
← EuroRust 2024

Build bigger in less time: code testing beyond the basics

EuroRust
28:20 6650 views

Modern software projects are huge: hundreds of thousands of lines of code across hundreds of dependencies. How do they avoid falling apart due to an endless stream of bugs? The answer: advanced testing techniques — much more than just clippy, unit tests, and end-to-end CI. Better testing allows us to build bigger in less time, while minimizing bug triage and debugging needs. Let’s dig into some of those advanced techniques and see how they power the projects that we use every day!

Player unavailable or embedding blocked? Use the YouTube link above.

Other talks by Predrag Gruevski

SemVer in the Rust ecosystem: breakage, tooling, and edge cases

FOSDEM

In theory, semantic versioning (SemVer) is simple: breaking changes require major versions. SemVer rules do not change over time. Crates always adhere to SemVer. Careful coding is enough to avoid accidental breaking changes. None of those statements are true! In practice, SemVer is complex and accidental breakage is common: 1 in 6 of the top 1000 Rust crates has violated semantic versioning at least once, frustrating both users and maintainers alike. If you write Rust but don't have the time for a PhD in SemVer, this talk is for you. We'll take a practical look at SemVer in Rust: what it buys us, how Rust's features lead to strange SemVer edge cases, and how we can prevent accidental breakage using a SemVer linter called cargo-semver-checks.