Approval Tests @ MiniIAD

352 views

Published on

Published in: Software, Technology, Education
  • Be the first to comment

Approval Tests @ MiniIAD

  1. 1. Approval Tests A picture’s worth a1000 tests
  2. 2. Test Structure public void ScenarioUnderTest() { // Arrange // Act // Assert }
  3. 3. The Classic Way public void ScenarioUnderTest() { var foo = new Foo(); var actual = foo.Do(); Assert.Equal("expected", actual); }
  4. 4. The Approvals Way public void ScenarioUnderTest() { var foo = new Foo(); var actual = foo.Do(); Assert.Equal("", actual); }
  5. 5. Approval Tests Libraries public void ScenarioUnderTest() { var foo = new Foo(); var actual = foo.Do(); Approvals.Verify(actual); }
  6. 6. Approval Tests Libraries Available for many languages: • Java, C#, PHP, NodeJS, Python or Ruby. Support most (may be all) test frameworks/runners: • JUnit, NUnit, xUnit, rSpec, etc. Many useful reporters: • Diff reporters: Generic, AraxisMerge, P4Merge, KDiff, VisualStudioDiff, TortoiseDiff, WinMerge. • CI: CruiseControl, TeamCity, Quiet. • Misc: FileLauncher, Image, Clipboard. Environment/Platform specific approvals: • Web, Desktop, Reports.
  7. 7. Unleash the power Fight with Legacy Code
  8. 8. Golden Master
  9. 9. Random Thoughts Plus Tips & Tricks
  10. 10. Commit Approval Files
  11. 11. Intermediate Steps
  12. 12. Both High & Low Level Tests
  13. 13. Code Quality Feedback
  14. 14. • Approval Tests Library • Author: Llewellyn Falco • Twitter: @LlewellynFalco / #ApprovalTests • Doc: http://approvaltests.sourceforge.net/ • Repository: https://github.com/approvals Resources
  15. 15. Matteo Baglini Freelance Software Developer & Tecnical Coach Coders TUG & DotNetToscana Co- Founder @matteobaglini matteo.baglini@gmail.com
  16. 16. Thanks!

×