Unit Testing Secrets of an Umbraco Ninja Presented
Unit Testing Secrets of an Umbraco Ninja Presented by: Aaron Powell me@aaron-powell. com @slace www. aaron-powell. com
• • What and Why? Not Test Driven Development Separation of logic from UI Ability to create reusable components Reduced errors by repeatable tests in controlled environments • Better API design
Umbraco UI
Code Test Build Deploy
Umbraco Logic Tests UI
Code Test Deploy Build
Stub & Mocks • Stub is an instance which wont break your test – Stubs can be implementations of a class created purely for testing purposes • Mocks – Less common in current unit testing – Type instances where nothing is defined – Can be very brittle
Frameworks • Do you need a mocking framework? – Short answer is no – Can create your own stub types – Gives you greater control • Why to use one? – Easy expectation setup – Using stubs on less accessible types • Set-less properties
Development • Web. Forms MVP to abstract away ASP. NET Web. Forms features • Dependency Injection to simplify the creation of factory types • Factory Pattern for data access
With Umbraco • Heavy reliance of Http. Context – Hard to Mock – Requires a web context • Lots of static – Hard to mock • Changing data – What are we working against?
Ninja Coding!
Questions? Thank you for coming
- Slides: 12