Hi there. I need to do training/support for our developers on the subject of unit testing. I know the fundamentals of writing and executing tests and test design techniques (EP, BvA, state transition, etc) but what I really don't know enough about is the practicalities of implementation / the effect of unit testing on the code base.

I'm studying the usual stuff of testable design / separation of concerns etc but I'm concerned that there are things that the normal theoretical approach to studying doesn't cover.

So in short, I'm looking to see if there are any practical unit testing courses that will do something like take you through a TDD or code-first unit test based project of a non-trivial problem. Covering things like the effects on the design and the trade-offs that need to be considered to create testable code but without over-egging the design.

Any thoughts appreciated, thanks.