~/talk

Choosing an effective testing structure

Talkat Code BEAM America 2025 · 2025-03-06..03-07· [testing]
slides:none on file

Advocates writing tests that fail with helpful messages, puts expected values on the right, and uses Machete to match only relevant fields; prefers async tests to use more cores and surface race conditions. Recommends bypass plus injecting test URLs via process_tree (works in ~90–95% of call patterns) instead of mutating application env, and running fast with mix test watch. Suggests aiming for ~80% coverage, avoiding meck-style module replacement, and using StreamData, parameterized tests, and name for specific needs.

AI-written summary · about

  1. 0:00Effective testing introduction
  2. 1:14Writing tests to fail
  3. 3:22Placing expected values
  4. 4:46Machete for assertions
  5. 5:47Tests asynchronously
  6. 6:27Mocking HTTP with Bypass
  7. 8:13Global state with ProcessTree
  8. 9:59Verify tests by changing code
  9. 10:39Avoid factory value dependencies
  10. 12:04Conditional factory setups
  11. 13:07Tests with Given-When-Then
  12. 14:09Efficient tests with Mix Test Watch
  13. 14:50Visualize test execution with XUnit Span
  14. 15:31Run single tests by name
  15. 16:33Avoid 100% coverage obsession
  16. 17:15Group assertions in one test
  17. 17:56Avoid Meck-based mocking
  18. 18:16Parameterized tests with tables
  19. 19:18Snapshot testing with Neam
  20. 20:41Property-based testing with StreamData
  21. 21:23Q&A
~/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.