Parameterized Unit Test Patterns (draft)
Parameterized Unit Test Patterns (draft)
Submitted by Jonathan de Halleux on Mon, 22/09/2008 - 23:41.How do you write good parameterized unit tests?
Where do they work the best?
Are there some Test Patterns ? Anti Patterns?
This is the kind of questions that we have received many times from Pex users. We just released Pex 0.7 which contains a list patterns and anti-patterns for parameterized unit testing (this is still a draft but we feel that we already have a number of good patterns that would be helpful for anyone giving a shot at Pex):
- direct link: http://research.microsoft.com/pex/articles/pexpatterns.pdf
- from the installer (0.7 and higher): after installing Pex, go to Start –> All Programs –> Microsoft Pex –> Documentation –> Patterns.pdf
Note that most of the patterns in this document are not Pex specific and apply to parameterized unit tests in general; including MbUnit RowTest/CombinatorialTest/DataTest, NUnit RowTest, MSTest Data Test, etc…
The amazing ‘quadruple A’ pattern
The ‘triple A’ pattern is a common way of writing a unit test: Arrange, Act, Assert. Even more ‘A’crobatic, we propose the ‘quadruple A’ where we added one more ‘A’ for assumption:
Pex is an automated white box testing tool from Microsoft Research.
More information at http://research.microsoft.com/pex.
This posting is provided "AS IS" with no warranties, and confers no rights.
