| Apache2-ASP documentation | Contained in the Apache2-ASP distribution. |
Apache2::ASP::Test::Base - base class for all test helper objects.
#!/usr/bin/perl -w
use strict;
use warnings 'all';
use Test::More 'no_plan';
use Apache2::ASP::Test::Base;
ok( my $t = Apache2::ASP::Test::Base->new() );
my $res = $t->ua->get("/index.asp");
ok( $res->is_success );
is( $res->header('location') => undef );
The whole point of writing Apache2::ASP was to enable command-line testing of entire websites - and to gather statistics via Devel::Cover and Devel::NYTProf.
Somehow the test-driven-development world completely missed the point:
YOU HAVE GOT TO TEST YOUR WEB PAGES SOMEHOW!!
Apache2::ASP and this class provide an excellent means of doing that.
See the /t folder in this distribution for several examples of testing different
kinds of functionality with Apache2::ASP::Test::Base.
Returns the current Apache2::ASP::Test::UserAgent object.
Shortcut method to the current Apache2::ASP::Config object.
Shortcut method to the current Data::Properties::YAML object
representing the test fixtures found in /etc/test_fixtures.yaml
Shortcut method to the current Data::Properties::YAML object
representing the properties found in /etc/properties.yaml
Shortcut method to the current Apache2::ASP::SessionStateManager object.
It's possible that some bugs have found their way into this release.
Use RT http://rt.cpan.org/NoAuth/Bugs.html?Dist=Apache2-ASP to submit bug reports.
Please visit the Apache2::ASP homepage at http://www.devstack.com/ to see examples of Apache2::ASP in action.
John Drago mailto:jdrago_999@yahoo.com
Copyright 2007 John Drago, All rights reserved.
This software is free software. It may be used and distributed under the same terms as Perl itself.
| Apache2-ASP documentation | Contained in the Apache2-ASP distribution. |
package Apache2::ASP::Test::Base; use strict; use warnings 'all'; use Apache2::ASP::ConfigLoader; use Apache2::ASP::Test::UserAgent; use Apache2::ASP::Test::Fixtures; use Data::Properties::YAML; #============================================================================== sub new { my $class = shift; my $config = Apache2::ASP::ConfigLoader->load(); # Our test fixtures: my $data = Apache2::ASP::Test::Fixtures->new( properties_file => $config->web->application_root . '/etc/test_fixtures.yaml' ) if -f $config->web->application_root . '/etc/test_fixtures.yaml'; # Our diagnostic messages: my $properties = Data::Properties::YAML->new( properties_file => $config->web->application_root . '/etc/properties.yaml' ) if -f $config->web->application_root . '/etc/properties.yaml'; my $s = bless { # TBD: ua => Apache2::ASP::Test::UserAgent->new( config => $config ), config => $config, data => $data, properties => $properties, }, $class; return $s; }# end new() #============================================================================== sub ua { $_[0]->{ua} } sub config { $_[0]->{config} } sub data { $_[0]->{data} } # Deprecated sub test_fixtures { $_[0]->{data} } sub diags { $_[0]->{properties} } # Deprecated sub properties { $_[0]->{properties} } sub session { $_[0]->{ua}->context->session } 1;# return true: