Phlip applies his compulsion for art and logic to complex problems in games, linguistics, bioinformatics, statistical process control, e-commerce, and software visualization. Advocating Agile methodologies increases the odds he can actually get to use them himself at work.
While Extreme Programming remains a valuable template for project success, the decade of its adoption also saw the rise of many dilutions and derivatives. This post debunks some common myths about TDD. read more
My last post showed how to mock a webservice. When you have more than one webservice, all their common code, tests, and mocks should remain DRY. This post demonstrates a ruthlessly effective test pattern that forces many different interfaces to behave as similarly as possible, using the minimum possible test… read more
This post shows how to write a web service using Test-Driven Development. Our source code example is the exemplary active_merchant contribution to Ruby on Rails. It reveals how developer tests can correctly attack remote web services. Programmers writing clients (or servers) for any kind of web service should use these… read more
Well-factored code often has many small functions. If each adds value, and doesn't just pass the buck, then what do they all do? Typically, they contract their input by making it more specific. Then they delegate these specific data to a delegatee. read more
Test Driven Development works best when each test case targets one aspect of a class's interface. So this post will demonstrate a simple and direct way to test a partial without testing the Views, layouts, and Controller actions surrounding it. On very complex projects, this technique keeps your partials decoupled. read more