Rechercher une page de manuel
Test::Unit::Assertion::CodeRef.3pm
Langue: en
Version: 2002-01-08 (fedora - 01/12/10)
Section: 3 (Bibliothèques de fonctions)
NAME
Test::Unit::Assertion::CodeRef - A delayed evaluation assertion using a CoderefSYNOPSIS
require Test::Unit::Assertion::CodeRef; my $assert_eq = Test::Unit::Assertion::CodeRef->new(sub { $_[0] eq $_[1] or Test::Unit::Failure->throw(-text => "Expected '$_[0]', got '$_[1]'\n"); }); $assert_eq->do_assertion('foo', 'bar');
Although this is how you'd use Test::Unit::Assertion::CodeRef directly, it is more usually used indirectly via Test::Unit::Test::assert, which instantiates a Test::Unit::Assertion::CodeRef when passed a Coderef as its first argument.
IMPLEMENTS
Test::Unit::Assertion::CodeRef implements the Test::Unit::Assertion interface, which means it can be plugged into the Test::Unit::TestCase and friends' "assert" method with no ill effects.DESCRIPTION
This class is used by the framework to allow us to do assertions in a 'functional' manner. It is typically used generated automagically in code like:$self->assert(sub { $_[0] == $_[1] or $self->fail("Expected $_[0], got $_[1]"); }, 1, 2);
(Note that if Damian Conway's Perl6 RFC for currying ever comes to pass then we'll be able to do this as:
$self->assert(^1 == ^2 || $self->fail("Expected ^1, got ^2"), 1, 2)
which will be nice...)
If you have a working B::Deparse installed with your perl installation then, if an assertion fails, you'll see a listing of the decompiled coderef (which will be sadly devoid of comments, but should still be useful)
AUTHOR
Copyright (c) 2001 Piers Cawley <pdcawley@iterative-software.com>.All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
SEE ALSO
- *
- Test::Unit::TestCase
- *
- Test::Unit::Assertion
Contenus ©2006-2024 Benjamin Poulain
Design ©2006-2024 Maxime Vantorre