Mocking, TDD, BDD for wp7 max paulousky www.maxpaulousky.com twitter: @paulousky This work is licensed under a Creative Commons Attribution By license.
agenda BDD TDD mocking
BDD Based on SpecFlow library and Gherkin syntax I forked SpecFlow and implemented WP7 support. Will be merged into the main trunk We can’t operate with Views directly – have to work with ViewModel Call commands Read/write properties
TDD Create a separate testing assembly You can use one assembly as an entry point (reduce number of apps on your device) You may tag your test methods You may test internal methods You may test asynchronous methods Test methods may use additional attributes
Mocking No native support in WP7 runtime Should use Silverlight assemblies Can’t add a reference to WP7 assembly Some WP7 features are not available (XNA) WP7 specific classes should be wrapped with the adapter pattern, put into containers and used as interfaces
summary Unit test tell you that you build the system right Acceptance tests tell you that you build the right system You can use either both kind of tests or just one Mocking for WP7 is not trivial but possible