talk-how-to-stop-hating-your-test-suite

https://www.youtube.com/watch?v=VD51AkG8EZw

Test Structure

test-scoped logic

testing-concept-test-pain

At 12:15 talks about cleaning up the Kata like:

talk-kata-and-analysis-jim#favor-readability-over-dry-in-tests

In tests, when faced with duplication vs. readability, I tend to favor readability in my tests a little bit more than I do in my production code.

 

sandi metz - "squint test"

Always calls the thing under test the "subject" and always calls the result "result" or "results". 100% of the time.

Like's Jim Weirich's "given"

Test Isolation

Makes two suites. One is fully integrated, and one it as isolated as possible

talk-how-to-stop-hating-your-test-suite#consistency1 We relished the opportunity to lock in those arbitrary decisions because we knew it would buy us consistency. talk-how-to-stop-hating-your-test-suite#consistency1

Tests are not actually maximally realistic (doesn't check production DNS, etc)

Less integrated tests give us design feedback and are easier to reason about.

23:45 testing-concept-redundant-coverage (think about Ed needing to change a bunch of stuff just to get the tests working

talk-how-to-stop-hating-your-test-suite#the-critical-need-for-speed-in-testing1 2 At 32:00 through 35 he talks about speed in the testing https://youtu.be/VD51AkG8EZw?t=32m6s ... how many "thoughts" you can have in a day. It mirrors my thinking exactly. talk-how-to-stop-hating-your-test-suite#the-critical-need-for-speed-in-testing1 2

talk-how-to-stop-hating-your-test-suite#implement-features-outside-your-app1 Still too slow? Implement features outside your app and integrate later. talk-how-to-stop-hating-your-test-suite#implement-features-outside-your-app1

talk-how-to-stop-hating-your-test-suite#false-negatives-because-of-slow-tests-and-ci1 41:45 - slow tests are a big cause of false negative test failures because you don't run them all locally and you push to CI to see what broke. Integration tests are often the cause of these. talk-how-to-stop-hating-your-test-suite#false-negatives-because-of-slow-tests-and-ci1

The TL;DR of this talk is please write fewer integration tests

Referring Pages

testing-concept-prefer-local-testing-to-ci testing-concept-stages-of-testing predictable-repeatable-and-fast consistency testing-concept-using-mocks-to-design-the-interfaces

People

person-justin-searls