Today I have published a new repository at GitHub. A demo application on how we should design our application so that we can test it. It is a test driven development approach. Before implementing the actual code write the test case and let that be failed. Then implement the logic to pass the test case. Our development is guided by test cases. This is called test driven approach. Also some programmer call this red-green approach. Red stands for fail at first and green for pass latter on. This approach help our code to be on track and easy to main in future. Because all the layers have to decouple for that. Our actual requirement (test cases) guide our development.
Test driven approach:
- Write test case.
- Let them to be failed (red).
- Write code to make the test case pass (green).
- Refractor the code.
In my application you can find three layers. Data access, business logic and user interface. For the three layers there are test cases. Data access layer is covered with integration testing, business logic and user interface layers are covered with unit testing. I use interface programming to make my design decouple. I also use Moq framework for mocking in unit test cases. I am looking forward to update and write new functionalities in this application in future.
Please go and make a clone of my repository. Review the code and send me a pull request. I shall be happy to hear from you.
Please follow this link for my demo application on TDD: