Before we begin to write our business logic and code, we shall proceed with the path of test driven development (TDD), or at least take some part of that process.
Unit testing is a useful tool when we want to start to test our individual business logic classes. The tests/unit directory will be used to hold the unit test cases and tests/functional directory to hold the function test cases.
We will start be writing a very simple unit test case. Notice that we are writing the test case first.
Save the code as ProjectTestCase.php in the document_root/time-tracker/tests/unit/ directory.
Point your browser to your development server's unit test case runner, e.g. http://web-server-address/time-tracker/tests/unit.php. You should see the following
Clicking on the ProjectTestCase.php link, you should see
Since we only wrote the test case and nothing else we expected that the test case will fail at some point. Obviously, we need create a class Project, so lets define the Project class.
We save the above code as time-tracker/protected/pages/APP_CODE/Project.php. Where the APP_CODE directory will contain most of the business logic code for the Time Tracker application.
Now, we also need to add the following line in our test case so as to include the Project class file when running the tests.
Run the unit test runner again, we see that the test has passed.
Later on, we shall write more test cases. See the SimpleTest documentation for detailed tutorial on writing test cases.