Geeks With Blogs
Ontological Reciprocity Contributions to Our Influences

I recently marked over 130 tests with [Ignore] in order to get our build to go return to green. It made me cringe to do it, but we lost our local database instance several months ago and many of the tests required it. That was a good 70% of them. The other 30% purely fell victim to apathy. When our local database instance was pulled, so was our build server, as well as other tools (a whole other post :S).

So since the build server stopped waving our failing tests in our face, about 40 test went on failing for months. Out of the entire test suite of 600, the 40 tests are only 7%, but hat 7% was mostly heavy financial calculation. An important 7% of our app.

This whole experience reminded me how lazy we are as a whole, but that’s OK. We have tooling (if we use it) to allow us to stay lazy. Maybe lazy has too negative of a connotation. How about focused. It reminds me of Don’t Make Me Think!. Except with developers, it’s “Don’t Make Me Do”. I don’t want to run my all my unit tests, analyze my code, increment my version numbers, or anything else not related to my business customer. If infrastructure is plumbing we abstract away from the application, so is the process. I want to increment my version number as much as I want to write a database logger.

Posted on Tuesday, July 8, 2008 10:29 AM | Back to top


Comments on this post: Don’t Make Me Do

# re: Don’t Make Me Do
Requesting Gravatar...
Why not delete the ignored tests?

It's definitely better to [Ignore] than to live with CI red results: now you will be more likely to notice when you break something else. But, the code-under-test is still free to drift apart from the ignored tests, and over time it's decreasingly likely that you're going to repair them.

I think you do want /all/ your code to work correctly, and you do want any version numbers you may have to be meaningful and truthful, and you do want whatever insights your code analysis can give you available all the time. There are at least two senses of laziness that I think most programmers acknowledge can be very useful: economy of labor and on-demand computation.

I don't see the benefit of having 70% dead code in some region of your source tree. So many promises to "fix that later" with no particular deadlines in mind seem analogous to the broken windows of a derelict building (http://en.wikipedia.org/wiki/Fixing_Broken_Windows).
Left by Sean on Jul 08, 2008 5:38 PM

# re: Don’t Make Me Do
Requesting Gravatar...
The reason most of the tests fail is they relied on the local database which was taken away. Hopefully we can get that reinstated and the tests we have ignored will be able to pass again. We considered removing them project until that time, but like the big ugly 130 next the yellow bubble in ReSharper to remind us how much we aren't testing.

The other tests that have deviated from their original tests should be removed.
Left by Mark Borcherding on Jul 08, 2008 10:04 PM

Your comment:
 (will show your gravatar)


Copyright © Mark Borcherding | Powered by: GeeksWithBlogs.net