MS Wheel Mouse Optical Redux (August 2018)

2 minute read

Back on the WMO train again. I was using Sweetlow’s signed driver, but it stopped working again, probably due to Windows updates. You can find the old guide...

Focused commits (also: git add -p)

6 minute read

Many people use version control as a bucket for their stuff. They commit and merge in some shape or form, and it gets shared with their colleagues. Everyone ...

Python data-driven testing, ddt and @unpack

less than 1 minute read

Several eons ago, I wrote a blog post about using the python ddt package. My only criticism was that you had to manually pack/unpack the test case arguments.

Empathetic Code

5 minute read

I always liked the phrase, “if you’re incapable of empathy, then you shouldn’t be designing APIs”.

A R#/Visual Studio style keymap for PyCharm

less than 1 minute read

PyCharm is a lovely little IDE for Python by the splendid JetBrains, but the built-in Visual Studio keymap is not much like the default VS/R# settings I’m ac...

The fundamentals of unit testing (series)

less than 1 minute read

I’ve not written about testing for a while, but I still enjoy writing automated tests (I am boring) and trying to coach people on good testing practices (I a...

The wonders of Debugger.Launch()

1 minute read

Ever worked on a project that involved spawning new .NET processes? (as in, one [arbitrary] program launches another .NET executable) I’ve had to do this on ...

Data-Driven Testing with Python

4 minute read

Hello tests. It’s been a while since I blogged about automated testing, so it’s nice to welcome an old friend back to the fold. I’ve missed you. I’ve recentl...

The Power of Boy Scouting & Git Stash

3 minute read

No, I’m not advocating beavering your way to several badges while wearing ill-fitting shorts, a neckerchief fastened with a woggle and risking a criminal rec...

Moving Origin Games to a different drive

less than 1 minute read

I wanted to move my BF3 install to my SSD but couldn’t figure out how to do it. Numerous posts suggested things, but none worked until I found this:

Gigabyte GeForce GTX 560 Ti OC - Avoid

2 minute read

This card, amongst various other factory overclocked GTX 560 Tis are causing problems for lots of people. There are various 560 Ti cards that have the OC pos...

Unity3d - Threadpool Exceptions

2 minute read

A quickie, but something to be very wary of. I’ve been using Unity3d of late (I recommend it – it’s a very opinionated and sometimes quirky bit of software, ...

Multiple Mocks?

2 minute read

This post was in response to a post on the blog (the comments aren’t working for me, so I thought I’d post it here) which I read via Roy Oshero...

Windows Live Writer

less than 1 minute read

Note: this is obviously antiquated and no longer relevant!

Data-driven testing tricks

3 minute read

It’s a fairly common occurrence - somebody wants to use NUnit’s data driven testing, but they want to vary either the action under test, or the expectation. ...

More readable data-driven tests

2 minute read

When the logic of a test method remains constant but the data varies, data-driven testing is a great tool. It allows you, the test author, to write compact c...

AutoMapper and Test Data Builders

2 minute read

I’ve recently been tinkering with WCF and, as many people already know, writing data transfer objects is a pain in the balls. Nobody likes writing repetitive...

Is your test code readable?

2 minute read

One of the things that really slashes the return on investment in testing is unreadable code. “This is pretty obvious”, you say. “What’s the point in a blog ...

Understanding test doubles

4 minute read

There is a bewildering array of types of ‘mock’ object available to a tester. The canonical list of test doubles was probably coined by the venerable Martin ...

What’s in a name?

5 minute read

One of the things I try to encourage is the careful selection of names. Just as self-documenting code is easier to read, so is a self-documenting test. As I ...