22== Fast Tests, Slow Tests, and Hot Lava
33
44[quote, 'https://www.youtube.com/watch?v=bsmFVb8guMU[Casey Kinsey]']
5+ // CSANAD: "This video isn't available any more" :(
6+ // Here is the official page for the talk, but it has no video or slides
7+ // available:
8+ // https://2013.djangocon.us/schedule/presentation/17/
9+ //
10+ // I found the slides on slideshare.net but I'm unsure about licensing. I saved
11+ // the link but I'm not going to include it in the book's source yet. Let me
12+ // know if it's legit and we can use the link!
13+ // Maybe it would be better to reach out straight to Casey Kinsey or the
14+ // DjangoCon US team if they can make at least the slides available somewhere.
15+
516______________________________________________________________
617The database is Hot Lava!
718______________________________________________________________
@@ -562,24 +573,26 @@ Fast Test, Slow Test and Boundaries::
562573 Gary Bernhardt's talks from Pycon
563574 https://www.youtube.com/watch?v=RAxiiRPHS9k[2012] and
564575 https://www.youtube.com/watch?v=eOYal8elnZk[2013]. His
565- http ://www.destroyallsoftware.com[screencasts] are also well worth a look.
576+ https ://www.destroyallsoftware.com/screencasts/catalog [screencasts] are also well worth a look.
566577
567578Inverting the Pyramid::
579+ // CSANAD: This link no longer points to the testing pyramid and I couldn't
580+ // find the original content.
568581 http://watirmelon.com/tag/testing-pyramid/[A visual metaphor]
569582 for what to do with a project like ours would end up,
570583 with too many slow tests and not enough fast ones.
571584
572585Integration tests are a scam::
573586 J.B. Rainsberger has a
574- http ://blog.thecodewhisperer.com/2010/10/16/integrated-tests-are-a-scam/[famous rant]
587+ https ://blog.thecodewhisperer.com/2010/10/16/integrated-tests-are-a-scam/[famous rant]
575588 about the way integration tests will ruin your life.footnote:[
576589 Rainsberger actually distinguishes "integrated" tests from integration tests:
577590 integrated test is any test that's not fully isolated from things outside
578591 the unit under test.[
579592 Then check out a couple of follow-up posts, particularly
580- http ://www.jbrains.ca /permalink/using-integration-tests-mindfully-a-case-study[this
593+ https ://blog.thecodewhisperer.com /permalink/using-integration-tests-mindfully-a-case-study[this
581594 defence of acceptance tests], and
582- http ://www.jbrains.ca /permalink/part-2-some-hidden-costs-of-integration -tests[this
595+ https ://blog.thecodewhisperer.com /permalink/part-2-some-hidden-costs-of-integrated -tests[this
583596 analysis of how slow tests kill productivity].
584597 ((("integrated tests", "benefits and drawbacks of")))
585598
@@ -588,9 +601,9 @@ Ports and Adapters::
588601 You can also catch a good discussion in
589602 http://vimeo.com/83960706[this talk].
590603 See also
591- http ://blog.8thlight .com/uncle-bob/2012/08/13/the-clean-architecture .html[Uncle
604+ https ://blog.cleancoder .com/uncle-bob/2011/11/22/Clean-Architecture .html[Uncle
592605 Bob's description of the clean architecture], and
593- http ://alistair.cockburn.us/Hexagonal+ architecture[Alistair Cockburn
606+ https ://alistair.cockburn.us/hexagonal- architecture[Alistair Cockburn
594607 coining the term "hexagonal architecture"].
595608
596609The Test-Double testing wiki::
@@ -601,15 +614,18 @@ The Test-Double testing wiki::
601614
602615
603616Fowler on Unit tests::
604- Martin Fowler (author of _Refactoring_)
605- http ://martinfowler.com/bliki/UnitTest.html[balanced and pragmatic tour]
617+ Martin Fowler's (author of _Refactoring_)
618+ https ://martinfowler.com/bliki/UnitTest.html[balanced and pragmatic tour]
606619 of what unit tests are, and of the tradeoffs around speed.
607620
608621A Take From the World of Functional Programming::
609622 "Grokking Simplicity" by Eric Normand
610623 explores the idea of "Functional Core, Imperative Shell".
611624 Don't worry, you don't need a crazy FP language like Haskell or Clojure to understand it,
612625 it's written in perfectly sensible JavaScript.
626+ // CSANAD: Shouldn't we provide a link to this book too?
627+ // https://www.oreilly.com/library/view/grokking-simplicity/9781617296208/
628+ // O'Reilly resources usually have a different kind of link though.
613629
614630
615631Happy testing!
0 commit comments