X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=catagits%2FCatalyst-Manual.git;a=blobdiff_plain;f=lib%2FCatalyst%2FManual%2FTutorial%2FTesting.pod;h=03061f8a31ca867a1d4bc789a73f4603c2f78e89;hp=7f558172229df2bca7ed21260fb677545e028013;hb=4ab6212da7a5e07df9837b0e57fb2b0c37aa9759;hpb=028b4e1a01c7fee31bcee0c3b44cb12958b61222 diff --git a/lib/Catalyst/Manual/Tutorial/Testing.pod b/lib/Catalyst/Manual/Tutorial/Testing.pod index 7f55817..03061f8 100644 --- a/lib/Catalyst/Manual/Tutorial/Testing.pod +++ b/lib/Catalyst/Manual/Tutorial/Testing.pod @@ -1,11 +1,11 @@ =head1 NAME -Catalyst::Manual::Tutorial::Testing - Catalyst Tutorial - Part 8: Testing +Catalyst::Manual::Tutorial::Testing - Catalyst Tutorial - Chapter 8: Testing =head1 OVERVIEW -This is B for the Catalyst tutorial. +This is B for the Catalyst tutorial. L @@ -56,12 +56,12 @@ L =head1 DESCRIPTION -You may have noticed that the Catalyst Helper scripts automatically -create basic C<.t> test scripts under the C directory. This part of -the tutorial briefly looks at how these tests can be used to not only -ensure that your application is working correctly at the present time, -but also provide automated regression testing as you upgrade various -pieces of your application over time. +You may have noticed that the Catalyst Helper scripts automatically +create basic C<.t> test scripts under the C directory. This +chapter of the tutorial briefly looks at how these tests can be used +to not only ensure that your application is working correctly at the +present time, but also provide automated regression testing as you +upgrade various pieces of your application over time. You can checkout the source code for this example from the catalyst subversion repository as per the instructions in @@ -86,24 +86,11 @@ for errors: # in t/controller_Books.t at line 8. # Looks like you failed 1 test of 3. -B Depending on the versions of various modules you have -installed, you might get some C warnings -- you can -ignore these. If you are following along in Ubuntu 8.10, you can -prevent them by adding C above line 49 in -C to match the following: - - ... - { no strict qw( refs ); - no warnings; - $argnames = \@{"$class\::BASEARGS"} || [ ]; - } - ... - The redirection used by the Authentication plugins will cause several failures in the default tests. You can fix this by making the following changes: -1) Change the line in C that read: +1) Change the line in C that reads: ok( request('/')->is_success, 'Request should succeed' ); @@ -111,13 +98,13 @@ to: ok( request('/login')->is_success, 'Request should succeed' ); -2) Change the Cis_success> to -Cis_redirect> in C. +2) Change the "Cis_success>" to +"Cis_redirect>" in C. -3) Change the Cis_success> to -Cis_redirect> in C. +3) Change the "Cis_success>" to +"Cis_redirect>" in C. -4) Add C to the top of C. +4) Add "C" to the top of C. As you can see in the C command line above, the C<--lib> option is used to set the location of the Catalyst C directory. With this @@ -242,7 +229,7 @@ editor and enter the following: $_->content_contains("Book List", "Check for book list title") for $ua1, $ua2; # Make sure the appropriate logout buttons are displayed - $_->content_contains("/logout\">Logout", + $_->content_contains("/logout\">User Logout", "Both users should have a 'User Logout'") for $ua1, $ua2; $ua1->content_contains("/books/form_create\">Create", "Only 'test01' should have a create link"); @@ -302,10 +289,10 @@ or $ DBIC_TRACE=0 CATALYST_DEBUG=0 prove --lib lib -v t/live_app01.t -Experiment with the C, C -and C<-v> settings. If you find that there are errors, use the -techniques discussed in the "Catalyst Debugging" section (Part 7) to -isolate and fix any problems. +Experiment with the C, C and C<-v> +settings. If you find that there are errors, use the techniques +discussed in the "Catalyst Debugging" section (Chapter 7) to isolate +and fix any problems. If you want to run the test case under the Perl interactive debugger, try a command such as: @@ -334,6 +321,12 @@ failed test: This will cause the full HTML returned by the request to be displayed. +Another approach to see the full HTML content at the failure point in +a series of tests would be to insert a "C<$DB::single=1;> right above +the location of the failure and run the test under the perl debugger +(with C<-d>) as shown above. Then you can use the debugger to explore +the state of the application right before or after the failure. + =head1 SUPPORTING BOTH PRODUCTION AND TEST DATABASES