Your SlideShare is downloading. ×
TDD 0 to 60 - An Introduction to Test-Driven Development in .NET
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

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

1,519
views

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 …

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,519
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
37
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 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. What do you mean by “unit test”? • code tests code • small • fast • independent http://www.flickr.com/photos/ugocei/6420197/
  • 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. What do I need? • NUnit • MbUnit • MsTest • xUnit.net http://www.flickr.com/photos/17258892@N05/2588347668/
  • 5. http://www.flickr.com/photos/lynac/321100379/
  • 6. AAA ain’t just the auto club Arrange – Set it up! Act – Call It! Assert – Verify it worked!
  • 7. http://www.flickr.com/photos/ethomsen/2815081394/
  • 8. Is this TDD???
  • 9. http://www.flickr.com/photos/37612915@N00/350716275/
  • 10. only refactor green tests! http://www.flickr.com/photos/jshultz/118841012/
  • 11. http://http://www.flickr.com/photos/roadsidepictures/469271408//
  • 12. Weak. My code uses a database... http://www.flickr.com/photos/helios89/1373343153
  • 13. Dependencies • inject the dependency • replace with a stub http://www.flickr.com/photos/leecullivan/141114012/
  • 14. http://www.flickr.com/photos/victius/4064996780/
  • 15. Why can’t I just go to the database? http://www.flickr.com/photos/richpix/1386265680/
  • 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. http://www.flickr.com/photos/8829172@N02/4010684609/
  • 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. http://www.flickr.com/photos/marcobellucci/3534516458/
  • 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