2:45 PM Sunday Room: 1401If you want to write “clean code that works – now”, you should look into test-driven development. In a nutshell, the idea of TDD is to first write automated tests, and only then the code that should pass the test. It is a simple and methodical way to write good code, fully tested from the get-go; beyond that, it also promotes better design, and helps keep your sanity during projects. My goal in this session is to get you started with TDD, so that you are ready to use it the moment you leave the room. I will demonstrate how TDD works on a small example, using open-source tools like NUnit. This session is aimed for beginners.
10:45 AM Sunday Room: 8401If you want to prove that a complex system works, a good place to start is to check that each piece is working right. Unit testing intends to do just that: take a unit of your code, and verify that it behaves properly. Unfortunately, in “real” software, dependencies between classes make testing in isolation difficult. Mocking is a technique designed to overcome that issue, and replace dependencies by Mocks, lightweight versions of the “real thing”, allowing you to validate the interactions of a class with its “collaborators”.
I will discuss reasons you should care about mocks, illustrate how you would go about addressing them by rolling your own mocks & stubs, and demonstrate two free, open-source frameworks, Rhino.Mocks and Moq, which will greatly simplify your job. Mocks and Stubs can sound intimidating – the goal of this presentation is to demystify the topic and give you a clear understanding of what they are, where they can help you, and to give you a good quick-start so that you can productively use them in your own code.