Your SlideShare is downloading. ×
0
http://www.flickr.com/photos/purplepick/2554134479/




                                           TDD 0 to 60
           ...
What do you mean by “unit test”?
 •   code tests code
 •   small
 •   fast
 •   independent




http://www.flickr.com/phot...
the whole truthiness
• Anything I can do with a unit test, I can do with a debugger.
• It’s an ivory tower activity, not s...
What do I need?




•   NUnit
•   MbUnit
•   MsTest
•   xUnit.net

                http://www.flickr.com/photos/17258892@N...
http://www.flickr.com/photos/lynac/321100379/
AAA ain’t just the auto club




            Arrange – Set it up!
            Act – Call It!
            Assert – Verify i...
http://www.flickr.com/photos/ethomsen/2815081394/
Is this TDD???
http://www.flickr.com/photos/37612915@N00/350716275/
only refactor green tests!




http://www.flickr.com/photos/jshultz/118841012/
http://http://www.flickr.com/photos/roadsidepictures/469271408//
Weak. My code uses a database...




               http://www.flickr.com/photos/helios89/1373343153
Dependencies
       • inject the dependency
       • replace with a stub




http://www.flickr.com/photos/leecullivan/1411...
http://www.flickr.com/photos/victius/4064996780/
Why can’t I just go
                                                   to the database?




http://www.flickr.com/photos/r...
Mocking: not just for when your
                manager out of the room
  •    a mock knows if your test passed
  •    beh...
http://www.flickr.com/photos/8829172@N02/4010684609/
Mocks aren’t Stubs, abridged
• Stubs vs. Mocks, in a nutshell:
   – Stubs: return dummy data
   – Mocks: Test passes or fa...
http://www.flickr.com/photos/marcobellucci/3534516458/
Our Next Steps
•   Upcoming Webinars: Please visit pillartechnology.com/events
•   All of the webinar content is available...
Upcoming SlideShare
Loading in...5
×

TDD 0 to 60 - An Introduction to Test-Driven Development in .NET

1,557

Published on

If you've heard of Test-driven Development, and you're wondering what all the fuss is about, this slidedeck will provide a code-centric introduction to the concepts, tools, and practices of TDD in the .NET framework.

We'll start with the basics of setting up a unit testing framework and writing the first test, then we'll move on to techniques for mocking dependencies and demonstrate patterns like Dependency Injection that will help you move past testing just the basics.

We invite you to download the full webinar replay at http://pillartechnology.com/content/webinardetail/id/15 which includes live demonstrations. After viewing the webinar replay, you should be able to sit down and start writing tests that will drive the design of your application, creating loosely-coupled and testable code.

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,557
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
38
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Transcript of "TDD 0 to 60 - An Introduction to Test-Driven Development in .NET "

  1. 1. http://www.flickr.com/photos/purplepick/2554134479/ TDD 0 to 60 An Introduction in Test-Driven Development Michael Joseph Kramer Pillar Technology in .NET
  2. 2. What do you mean by “unit test”? • code tests code • small • fast • independent http://www.flickr.com/photos/ugocei/6420197/
  3. 3. the whole truthiness • Anything I can do with a unit test, I can do with a debugger. • It’s an ivory tower activity, not something real businesses do. • Unit testing isn’t for small businesses. • Unit testing isn’t for the enterprise. • We don’t need no stinkin’ unit tests. We have a QA team! • We don’t need no stinkin’ QA team. We have unit tests! • Writing tests will take me longer, which makes it cost more. • Most of the stuff I write isn’t interesting enough for a unit tests. It’s only for complicated stuff. • Unit testing prevents you from writing crappy software. • Everything I have ever learned about software development is wrong. http://www.flickr.com/photos/thelastminute/142252337/
  4. 4. What do I need? • NUnit • MbUnit • MsTest • xUnit.net http://www.flickr.com/photos/17258892@N05/2588347668/
  5. 5. http://www.flickr.com/photos/lynac/321100379/
  6. 6. AAA ain’t just the auto club Arrange – Set it up! Act – Call It! Assert – Verify it worked!
  7. 7. http://www.flickr.com/photos/ethomsen/2815081394/
  8. 8. Is this TDD???
  9. 9. http://www.flickr.com/photos/37612915@N00/350716275/
  10. 10. only refactor green tests! http://www.flickr.com/photos/jshultz/118841012/
  11. 11. http://http://www.flickr.com/photos/roadsidepictures/469271408//
  12. 12. Weak. My code uses a database... http://www.flickr.com/photos/helios89/1373343153
  13. 13. Dependencies • inject the dependency • replace with a stub http://www.flickr.com/photos/leecullivan/141114012/
  14. 14. http://www.flickr.com/photos/victius/4064996780/
  15. 15. Why can’t I just go to the database? http://www.flickr.com/photos/richpix/1386265680/
  16. 16. Mocking: not just for when your manager out of the room • a mock knows if your test passed • behavior, not state • void methods • brittle http://www.flickr.com/photos/mariaclarah/927759528/
  17. 17. http://www.flickr.com/photos/8829172@N02/4010684609/
  18. 18. Mocks aren’t Stubs, abridged • Stubs vs. Mocks, in a nutshell: – Stubs: return dummy data – Mocks: Test passes or fails based on what the method does, not what it returns – Test Double or Fake: Generic terms for either a mock or stub I.E., a mock can make a test fail, a stub can’t. Full Version: http://martinfowler.com/articles/mocksArentStubs.html
  19. 19. http://www.flickr.com/photos/marcobellucci/3534516458/
  20. 20. Our Next Steps • Upcoming Webinars: Please visit pillartechnology.com/events • All of the webinar content is available to your business in a 1-2 day on-site workshop or as a “lunch and learn” format. Please contact us for details. • Visit www.pillartechnology.com/events to access presentation slides and full archived broadcasts of past webinars. • Twitter.com/agilesoftware • Blog: www.pillartechnology.com/blog • LinkedIn: Join the Agile Enthusiast Group on LinkedIn: http://bit.ly/agilegroup • YouTube: http://www.youtube.com/user/PillarTechnology • Phone: (888) 3-pillar • Web: pillartechnology.com • Email: info@pillartechnology.com
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×