From c7d41e5bea4a5f96979a08da9cc9f79355edfe70 Mon Sep 17 00:00:00 2001 From: wei <> Date: Sun, 16 Jul 2006 06:19:36 +0000 Subject: Update Time Tracker demo. --- .../protected/pages/Docs/WritingUnitTest.page | 43 ++++++++++++++-------- 1 file changed, 28 insertions(+), 15 deletions(-) (limited to 'demos/time-tracker/protected/pages/Docs/WritingUnitTest.page') diff --git a/demos/time-tracker/protected/pages/Docs/WritingUnitTest.page b/demos/time-tracker/protected/pages/Docs/WritingUnitTest.page index 32c7bc79..77bdcbe6 100644 --- a/demos/time-tracker/protected/pages/Docs/WritingUnitTest.page +++ b/demos/time-tracker/protected/pages/Docs/WritingUnitTest.page @@ -1,13 +1,19 @@

Writing a Unit Test

+

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. + The tests/unit directory will be used to hold the unit test + cases and tests/functional directory + to hold the function test cases.

Write a unit test case

-

We will start be writing a very simple unit test case.

+

We will start be writing a very simple unit test case. Notice +that we are writing the test case first.

<?php class ProjectTestCase extends UnitTestCase @@ -29,14 +35,16 @@ directory.

Figure 1: Unit test runner

-

Clicking on the ProjectTestCase.php like, you should see +

Clicking on the ProjectTestCase.php link, you should see

Figure 2: Unit test failure

Smallest step to make the test pass.

-

Obviously, we need create the class Project, so lets define the class.

+

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.

<?php class Project @@ -44,15 +52,11 @@ class Project } ?> -

Save the above code as time-tracker/protected/pages/APP_CODE/Project.php. - Where the APP_CODE directory will contain most of your business logic code for the Time Tracker application.

-

We also need to add the following line in our test case so as to include the Project class file when running the tests.

- -

-The statement Prado::using('Application.APP_CODE.Project') basically -loads the Project.php class file. It assumes that a class name Project has filename Project.php. -For futher details regarding Prado::using can be found in Prado Namespaces documentation. -

+

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.

<?php @@ -63,11 +67,20 @@ class ProjectTestCase extends UnitTestCase } ?> + +
Info: +The statement Prado::using('Application.APP_CODE.Project') basically +loads the Project.php class file. It assumes that a class name Project has filename Project.php. +For futher details regarding Prado::using can be found in Prado Namespaces documentation. +
+

Run the unit test runner again, we see that the test has passed.

Figure 3: Unit test success

-Later on, we shall write more test cases. See the SimpleTest documentation for detailed tutorial on writing test cases.

+Later on, we shall write more test cases. See the +SimpleTest documentation +for detailed tutorial on writing test cases.

\ No newline at end of file -- cgit v1.2.3