If you are interested in learning Unit Testing and/or Test Driven Development with Pluralsight, there are many options to choose from so I decided to write this post to give some pointers.
Joe Eames has a couple of courses that might interest you:
If you use Angular JS, you’ll probably want to watch either Angular JS Unit Testing by Bradley Braithwaite, or Testing AngularJS From Scratch by Jesse Liberty
Backbone JS developers will want to watch Backbone.JS In-Depth and Intro to Testing with Mocha and Sinon by Sam Breed.
Engin Arslan has produced a course called Automating the Web Using PhantomJS and CasperJS
Java and Android Developers
Either try Unit Testing in Java With JUnit by John Sonmez
Or Test-Driven Development Practices in Java by Mike Nolan
Novice Android developers can get an introduction to Expresso Testing from Chiu-Ki Chan towards the end of her course Start Developing For Android.
C# and VB.NET Developers
Julie Lerman’s Automated Testing for Fraidy Cats Like Me is the easiest course for a gentle introduction to unit testing.
Scared .NET developers should start here. It’s okay, you can come out now!
Another beginner friendly option is Justin Pihony’s course Patterns for Pragmatic Unit Testing, which introduces you to some design patterns that help produce a clean, easy to maintain test suite.
If you are looking to get started doing Test Driven Development and feel confident that you’ll be able to understand and eventually master it, I recommend beginning with David Starr and Scott Allen’s Test First Development Part 1 and then moving onto Part 2.
By now you will have a basic understanding of Behavior Driven Development. You can solidify this knowledge with Rob Conery’s course Pragmatic Behavior-driven Design with .NET
Once you’ve learned these, you should be ready to take on my favorite TDD course by Mark Seemann: Outside In Test Driven Development, and then Advanced Unit Testing.
Most .NET unit testing courses use either NUnit or XUnit.
However if you want to use XUnit.net see Testing .NET Code with xUnit.net 2 by Jason Roberts. Jason has also produced Akka.NET Testing Fundamentals.
For MS Test, Microsoft’s own testing framework, you can watch Unit Testing with MSTest by Phani Tipparaju.
Last but not least, some testing tools that you might want to assess for adoption:
Jason Roberts has done a very good job explaining the benefits of Autofixture and Shouldly in his courses Better .NET Unit Tests with AutoFixture: Get Started and Better Unit Test Assertions with Shouldly.
Erik Dietrich explains NCrunch in Continuous Testing with NCrunch
I’ve never come across an F# developer that didn’t also know C# pretty well, so you should have no problems with the above C# course, however there are also some F# specific options for you. Take a look at my unofficial F# learning path and pick from there.
Try Matthew Kruczek’s course iOS Unit Testing with XCTest.
Let Emily Bache be your instructor with her course Unit Testing with Python.
Rem Zolotykh has produced a course for Ruby on Rails developers called Test Driven Rails with Capybara and Cucumber
Yes you can unit test in SQL as well, but is it worth the effort? Watch Dave Green’s course Making the Case for Unit Testing Database Code.
Convinced that it’s for you? Try Unit Testing T-SQL Code with tSQLt by Dave Green.
See Automated Tests with PHPUnit by Anna Filina
That should be plenty enough to keep you busy for a while, but also bare in mind that there is a lot more to automated testing than just unit testing. Integration testing and End to End testing are also important practices, and there are separate courses available for learning those.
I hope you found this guide helpful, and if you would find it helpful I can produce a follow up guide to learning integration and end to end testing.
2 thoughts on “Learning Unit Testing and Test Driven Development”
Pingback: Clean Code: Writing Code for Humans | Zombie Code Kill
Pingback: Building Applications with React and Redux in ES6 | Zombie Code Kill