41554 blogs · [ { "id": "01a07df2-0489-7373-bb3b-61bf5a3dfe42", "title": "10 Ways to Kill Your Design", "url": "https://blog.thecodewhisperer.com/permalink/ten-ways-to-kill-your-design", "published_at": "2012-02-19T04:00:00+00:00" }, { "id": "01a07df2-0489-7373-bb3b-61bf5aa5ec16", "title": "From dependent tests to independent tests to independent assertions", "url": "https://blog.thecodewhisperer.com/permalink/from-dependent-tests-to-independent-tests-to-independent-assertions", "published_at": "2011-12-20T04:00:00+00:00" }, { "id": "01a07df2-0489-7373-bb3b-61bf5ab8687f", "title": "Stop. Write a Learning Test.", "url": "https://blog.thecodewhisperer.com/permalink/when-to-write-learning-tests", "published_at": "2011-12-14T04:00:00+00:00" }, { "id": "01a07df2-0489-7373-bb3b-61bf5ba5bfd0", "title": "Refactor Your Way to a Dependency Injection Container", "url": "https://blog.thecodewhisperer.com/permalink/refactor-your-way-to-a-dependency-injection-container", "published_at": "2011-12-07T04:00:00+00:00" }, { "id": "01a07df2-0489-7373-bb3b-61bf5c906169", "title": "Rescuing Legacy Code by Extracting Pure Functions", "url": "https://blog.thecodewhisperer.com/permalink/rescuing-legacy-code-by-extracting-pure-functions", "published_at": "2011-11-27T04:00:00+00:00" }, { "id": "01a07df2-0489-7373-bb3b-61bf5ccb2164", "title": "Detecting Changes in Third-Party Code", "url": "https://blog.thecodewhisperer.com/permalink/detecting-changes-in-third-party-code", "published_at": "2011-11-26T04:00:00+00:00" }, { "id": "01a07df2-0489-7373-bb3b-61bf5dacbc88", "title": "When should I remove duplication?", "url": "https://blog.thecodewhisperer.com/permalink/when-should-i-remove-duplication", "published_at": "2011-09-29T03:00:00+00:00" }, { "id": "01a07df2-0489-7373-bb3b-61bf5e05c0ec", "title": "Writing Contract Tests in Java differently", "url": "https://blog.thecodewhisperer.com/permalink/writing-contract-tests-in-java-differently", "published_at": "2011-07-17T03:00:00+00:00" }, { "id": "01a07df2-0489-7373-bb3b-61bf5e79e6b0", "title": "Contract Tests: An Example", "url": "https://blog.thecodewhisperer.com/permalink/contract-tests-an-example", "published_at": "2011-07-07T03:00:00+00:00" }, { "id": "01a07df2-0489-7373-bb3b-61bf5e85ab35", "title": "Adding behavior with confidence", "url": "https://blog.thecodewhisperer.com/permalink/adding-behavior-with-confidence", "published_at": "2011-06-22T03:00:00+00:00" }, { "id": "01a07df2-0489-7373-bb3b-61bf5f08e72e", "title": "A Model for Improving Names", "url": "https://blog.thecodewhisperer.com/permalink/a-model-for-improving-names", "published_at": "2011-06-15T03:00:00+00:00" }, { "id": "01a07df2-0489-7373-bb3b-61bf5f783666", "title": "The Continuum of Names: an example", "url": "https://blog.thecodewhisperer.com/permalink/the-continuum-of-names-an-example", "published_at": "2011-05-27T03:00:00+00:00" }, { "id": "01a07df2-0489-7373-bb3b-61bf6011b6ea", "title": "Code Rejects Inheritance-Based Reuse: An Example", "url": "https://blog.thecodewhisperer.com/permalink/code-rejects-inheritance-based-reuse-an-example", "published_at": "2011-05-02T03:00:00+00:00" }, { "id": "01a07df2-0489-7373-bb3b-61bf60654326", "title": "Beware the Integrated Tests Scam (was Integrated Tests Are a Scam): No conflict with GOOS", "url": "https://blog.thecodewhisperer.com/permalink/no-conflict-with-goos", "published_at": "2011-04-25T03:00:00+00:00" }, { "id": "01a07df2-0489-7373-bb3b-61bf614a4be6", "title": "Use Your Singletons Wisely: Ten Years Later", "url": "https://blog.thecodewhisperer.com/permalink/use-your-singletons-wisely-ten-years-later", "published_at": "2011-03-01T06:00:00+00:00" }, { "id": "01a07df2-0489-7373-bb3b-61bf61fa7666", "title": "Injecting dependencies doesn't have to hurt", "url": "https://blog.thecodewhisperer.com/permalink/injecting-dependencies-doesnt-have-to-hurt", "published_at": "2010-12-04T04:00:00+00:00" }, { "id": "01a07df2-0489-7373-bb3b-61bf62ab0cd8", "title": "JMock v. Mockito, but not to the death", "url": "https://blog.thecodewhisperer.com/permalink/jmock-v-mockito-but-not-to-the-death", "published_at": "2010-10-05T03:00:00+00:00" }, { "id": "01a07df2-0489-7373-bb3b-61bf63047ac2", "title": "Stub your data access layer; it won't hurt", "url": "https://blog.thecodewhisperer.com/permalink/stub-your-data-access-layer-it-wont-hurt", "published_at": "2010-09-23T03:00:00+00:00" }, { "id": "01a07df2-0489-7373-bb3b-61bf63c22203", "title": "When is it safe to introduce test doubles?", "url": "https://blog.thecodewhisperer.com/permalink/when-is-it-safe-to-introduce-test-doubles", "published_at": "2010-09-14T03:00:00+00:00" }, { "id": "01a07df2-0489-7373-bb3b-61bf63da5b90", "title": "RSpec, have_tag(), Spec::Matcher and Nokogiri", "url": "https://blog.thecodewhisperer.com/permalink/rspec-havetag-specmatcher-and-nokogiri", "published_at": "2010-02-19T04:00:00+00:00" }, { "id": "01a07df2-0489-7373-bb3b-61bf64adaac2", "title": "\"Integration Tests are a Scam\" is a Scam", "url": "https://blog.thecodewhisperer.com/permalink/integration-tests-are-a-scam-is-a-scam", "published_at": "2010-02-14T04:00:00+00:00" }, { "id": "01a07df2-0489-7373-bb3b-61bf64f61802", "title": "Using Integration Tests Mindfully: A Case Study", "url": "https://blog.thecodewhisperer.com/permalink/using-integration-tests-mindfully-a-case-study", "published_at": "2010-01-31T12:00:00+00:00" }, { "id": "01a07df2-0489-7373-bb3b-61bf65ca8678", "title": "Not Just Slow: Integration Tests are a Vortex of Doom", "url": "https://blog.thecodewhisperer.com/permalink/not-just-slow-integration-tests-are-a-vortex-of-doom", "published_at": "2010-01-28T12:00:00+00:00" }, { "id": "01a07df2-0489-7373-bb3b-61bf661b6745", "title": "What your tests don't need to know will hurt you", "url": "https://blog.thecodewhisperer.com/permalink/what-your-tests-dont-need-to-know-will-hurt-you", "published_at": "2010-01-14T04:00:00+00:00" }, { "id": "01a07df2-0489-7373-bb3b-61bf670a92d0", "title": "Surely the Mars rover needed integrated tests! (Maybe not?)", "url": "https://blog.thecodewhisperer.com/permalink/surely-the-mars-rover-needed-integrated-tests-maybe-not", "published_at": "2009-09-30T03:00:00+00:00" }, { "id": "01a07df2-0489-7373-bb3b-61bf6752111e", "title": "Interlude: Basic Correctness", "url": "https://blog.thecodewhisperer.com/permalink/interlude-basic-correctness", "published_at": "2009-07-22T03:00:00+00:00" }, { "id": "01a07df2-0489-7373-bb3b-61bf68463484", "title": "Part 3: The Risks Associated with Lengthy Tests", "url": "https://blog.thecodewhisperer.com/permalink/part-3-the-risks-associated-with-lengthy-tests", "published_at": "2009-07-20T03:00:00+00:00" }, { "id": "01a07df2-0489-7373-bb3b-61bf685a4e66", "title": "Part 2: Some Hidden Costs of Integrated Tests", "url": "https://blog.thecodewhisperer.com/permalink/part-2-some-hidden-costs-of-integrated-tests", "published_at": "2009-04-08T03:00:00+00:00" }, { "id": "01a07df2-0489-7373-bb3b-61bf68d5beb6", "title": "Beware the Integrated Tests Scam (was Integrated Tests Are a Scam)", "url": "https://blog.thecodewhisperer.com/permalink/integrated-tests-are-a-scam", "published_at": "2009-04-05T03:00:00+00:00" }, { "id": "01a07df2-0489-7373-bb3b-61bf695956d7", "title": "In brief: Contract Tests", "url": "https://blog.thecodewhisperer.com/permalink/in-brief-contract-tests", "published_at": "2005-03-02T04:00:00+00:00" }, { "id": "01a07df2-0489-7373-bb3b-61bf696e24f2", "title": "Persistence Last", "url": "https://blog.thecodewhisperer.com/permalink/persistence-last", "published_at": "2003-07-01T03:00:00+00:00" }, { "id": "01a07df2-0489-7373-bb3b-61bf69fac7f0", "title": "JUnit: A Starter Guide", "url": "https://blog.thecodewhisperer.com/permalink/junit-a-starter-guide", "published_at": "2001-06-01T03:00:00+00:00" } ] posts Claim your blog
Back to The Code Whisperer
Blog · corpus.blog/blogs/blog.thecodewhisperer.com/posts

The Code Whisperer

blog.thecodewhisperer.com

2012

2011

2010

2009

2005

2003

2001