We are looking for someone familiar with unit testing best practices to help expand our existing code generation templates. Our code generation specialist will design code templates to your unit-test friendly specifications. We have templates that generate an assembly, and a COM wrapper for it from our database. We wish to expand that template set to include generating unit tests.
## Deliverables
Must be knowledgeable in and familiar with Test Driven Development best practices.
Must be thoroughly familiar with unit testing design.
Must be able to make recommendations for a unit testing framework for our project.
Must be able to make recommendations for a mocking framework for our project.
Must be able to make recommendations for a dependency injection framework for our project.
Must be able to work in VS2010 C# development.
You will:
1. Review our existing code for our business layer objects. These objects are generated code from database information.
2. You will redesign one (1) of the business objects as a prototype to allow for dependency injection, mocking and unit testing. This redesigned object will be passed to our code generation specialist to implement.
3. Our code generation specialist will begin working on the templates to generate our code base to your provided specifications.
4. While the code generation specialist is working on the code templates, you will design a prototype set of unit tests for the business object that you designed. You will pass this prototype to the code generation specialist to work on.
5. The code generation specialist will start working on the templates to generate the unit tests.
6. When the code generation specialist completes the templates, we will run them and provide you with the output for review. You will then work with the code generation specialist to ensure that all generated code will meet specifications, and the unit test framework is functional.
OPTIONAL:
7. If you wish to continue working on this project, you will then begin working on mocking our external resources, which include: an FTP file transfer service, a billing system web service, a web scraper service, and our entity repository.