Published inClarity AI TechDeciphering test feedbackReact to test feedback by changing the design of your code without falling into the trap of superficial test improvements with test helpersFeb 12, 2022Feb 12, 2022
Published inClarity AI TechSociable or solitary unit tests — choose your tradeoffsWhat to choose as a unit for a test? Focus it on a single module or a group of collaborating modules? It depends — choose your tradeoffsSep 24, 2021Sep 24, 2021
Don’t break the contract chainHow external and internal contracts (pacts and mocks) can drive development top-down and ensure smooth integrationMar 26, 2021Mar 26, 2021
Modularize your code with folding and monoidsHow to apply functional programming techniques to achieve greater abstraction: folding (reduce), higher-order functions, and monoidsFeb 12, 20211Feb 12, 20211
Effective test doubles, part 2When and how to introduce mocks, spies and fakes in tests: for boundaries to keep outside, behaviours, and only for your own code.Nov 28, 2020Nov 28, 2020
Effective test doubles, part 1Tactical tips about the efficient and effective usage of test doublesNov 11, 2020Nov 11, 2020
What is the System Under Test? A tale from Gallic WarsWhat is the System Under Test? What can we learn from ancient history about testing? A tale of Julius Caesar, Vercingetorix and Gallic warsOct 31, 2020Oct 31, 2020
Good vs bad test helpersHow good test helpers can remove accidental complexity and hide irrelevant details ?Oct 20, 2020Oct 20, 2020
Painless assertionsOn Procedural State Verification vs Expected Value Assertion — how data equality can make your tests robust and expressiveOct 13, 2020Oct 13, 2020