~/talk

End-to-end testing your Rust backend

Talkat EuroRust 2022 · 2022-10-13..10-14· [rust]
slides:none on file

Claims concrete results: isolated Postgres database cloning and transaction-wrapping approaches cut interference, running about 2,000 tests in 30 seconds on a modern desktop; disk tempfs and relaxed durability settings speed setup. Tests use a small, application-specific request Builder to hide boilerplate and deserialize responses directly, and the rstest crate to parametrize one test across many endpoints. Example code shows cloning, transaction injection, and builder implementations that actually run and simplify end-to-end REST API tests.

AI-written summary · about

  1. 0:00Start
  2. 0:58Testing Backends in Rust
  3. 1:35End-to-End Testing Tradeoffs
  4. 3:49Speed matters
  5. 6:05Popular Approaches
  6. 7:53First Approach: Transactions
  7. 10:17Second Technique: Cloning Databases
  8. 11:36Tuning the Database
  9. 14:00Example of a Test
  10. 18:18Creating a Request Builder
  11. 20:28Implementing a Method
  12. 23:22Request Builder Examples
  13. 28:44Summary
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.