This course shows how to use Test Driven Development (TDD) in a real-world setting. It moves beyond the discussing the basics of TDD; instead of focusing on the mechanics of TDD, this course uses TDD as a design tool. The course will cover unit testing both server- (node.js) and client-side (Angular) code. The goal of the course is to demonstrate how to use TDD to design a better code base.
In this production we sit down with Brad Wilson as he uses Test-driven Development, C# 4.0, and xUnit to create the core of a subscription billing system - just like the one we have here at Tekpub. In fact - we used those exact requirements! Halfway through the episode, we throw a curveball at Brad - changing up the requirements to see how much of a drag TDD can have on the change process.
Do you work on a team where not everyone is enthusiastic about good design and writing automated tests? How can you promote good practices amongst your colleagues? If you've been working as a programmer for a few years, and perhaps have become the team lead, I expect you've thought about these questions. This course is about how you could hold regular "Coding Dojo" meetings where you and your team can focus on improving your practical coding skills together. You'll be practicing in a safe, collaborative environment, using simple "Code Kata" examples. It becomes a space away from your normal work, where you can discuss coding practices like Test Driven Development and Refactoring, then later bring your new skills to bear in your production code. This course should give you; the coding dojo organizer, the supporting materials you need to start a Coding Dojo, and get everyone who attends to practice better software development techniques. It should also allow you to improve your communication and facilitation skills, and help your team to gel. Kent Beck once said "I'm not a great programmer, I'm just a good programmer with great habits". What are you doing to improve your coding habits? This is the course with the advice and encouragement you need: get together with your team and hold a coding dojo! It's fun!
This course teaches how to build an application from the outside in - starting with tests targeting actual features or use cases of an application, but gradually working towards a more and more detailed specification of the components of an application. The focus is on the technical side of TDD, not the business side. Approximately half of the content is a series of C# demos, building a small RESTful service from scratch.