X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FCatalyst%2FManual%2FTutorial%2FTesting.pod;h=ee3666bef0498503ff21892cd28323e4ab68d7db;hb=936a5dd5c424d816dd470690473c1e38127a0c3c;hp=6d7d37b15d72bb13594fffd330845d9f570a9fc6;hpb=cc548726047214bd2b51a6b3a287896ac65b7b9b;p=catagits%2FCatalyst-Runtime.git diff --git a/lib/Catalyst/Manual/Tutorial/Testing.pod b/lib/Catalyst/Manual/Tutorial/Testing.pod index 6d7d37b..ee3666b 100644 --- a/lib/Catalyst/Manual/Tutorial/Testing.pod +++ b/lib/Catalyst/Manual/Tutorial/Testing.pod @@ -57,13 +57,9 @@ 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. -B: Note that all of the code for this part of the tutorial can be -pulled from the Catalyst Subversion repository in one step with the -following command: - - svn checkout http://dev.catalyst.perl.org/repos/Catalyst/trunk/examples/Tutorial@### - IMPORTANT: Does not work yet. Will be completed for final version. - +You can checkout the source code for this example from the catalyst +subversion repository as per the instructions in +L =head1 RUNNING THE "CANNED" CATALYST TESTS @@ -155,13 +151,13 @@ editor and enter the following: # all tests. Better to replace "'no_plan'" with "tests => 30" so it # knows exactly how many tests need to be run (and will tell you if # not), but 'no_plan' is nice for quick & dirty tests - + use Test::More 'no_plan'; # Need to specify the name of your app as arg on next line # Can also do: # use Test::WWW::Mechanize::Catalyst "MyApp"; - + use ok "Test::WWW::Mechanize::Catalyst" => "MyApp"; # Create two 'user agents' to simulate two different users ('test01' & 'test02') @@ -175,7 +171,7 @@ editor and enter the following: $_->get_ok("http://localhost/", "Check redirect of base URL") for $ua1, $ua2; # Use title_is() to check the contents of the ... tags $_->title_is("Login", "Check for login title") for $ua1, $ua2; - # Use content_contains() to match on test in the html body + # Use content_contains() to match on text in the html body $_->content_contains("You need to log in to use this application", "Check we are NOT logged in") for $ua1, $ua2; @@ -218,8 +214,11 @@ editor and enter the following: $ua1->get_ok("http://localhost/books/url_create/TestTitle/2/4", "'test01' formless create"); $ua1->title_is("Book Created", "Book created title"); - $ua1->content_contains("Added book 'TestTitle' by 'Stevens'", "Check added OK"); - $ua1->content_contains("a rating of 2.", "Check rating added"); + $ua1->content_contains("Added book 'TestTitle'", "Check title added OK"); + $ua1->content_contains("by 'Stevens'", "Check author added OK"); + $ua1->content_contains("with a rating of 2.", "Check rating added"); + # Try a regular expression to combine the previous 3 checks & account for whitespace + $ua1->content_like(qr/Added book 'TestTitle'\s+by 'Stevens'\s+with a rating of 2./, "Regex check"); # Make sure the new book shows in the list $ua1->get_ok("http://localhost/books/list", "'test01' book list"); @@ -262,9 +261,9 @@ To run the new test script, use a command such as: or - $ DBIX_CLASS_STORAGE_DBI_DEBUG=0 CATALYST_DEBUG=0 prove --lib lib -v t/live_app01.t + $ DBIC_TRACE=0 CATALYST_DEBUG=0 prove --lib lib -v t/live_app01.t -Experiment with the C, C +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 6) to isolate and fix any problems. @@ -272,7 +271,7 @@ isolate and fix any problems. If you want to run the test case under the Perl interactive debugger, try a command such as: - $ DBIX_CLASS_STORAGE_DBI_DEBUG=0 CATALYST_DEBUG=0 perl -d -Ilib t/live_app01.t + $ DBIC_TRACE=0 CATALYST_DEBUG=0 perl -d -Ilib t/live_app01.t Note that although this tutorial uses a single custom test case for simplicity, you may wish to break your tests into different files for @@ -317,7 +316,9 @@ before. Kennedy Clark, C -Please report any errors, issues or suggestions to the author. +Please report any errors, issues or suggestions to the author. The +most recent version of the Catalyst Tutorial can be found at +L. Copyright 2006, Kennedy Clark, under Creative Commons License (L).