table of contents
Test::Moose(3pm) | User Contributed Perl Documentation | Test::Moose(3pm) |
NAME¶
Test::Moose - Test functions for Moose specific featuresVERSION¶
version 2.2011SYNOPSIS¶
use Test::More plan => 1; use Test::Moose; meta_ok($class_or_obj, "... Foo has a ->meta"); does_ok($class_or_obj, $role, "... Foo does the Baz role"); has_attribute_ok($class_or_obj, $attr_name, "... Foo has the 'bar' attribute");
DESCRIPTION¶
This module provides some useful test functions for Moose based classes. It is an experimental first release, so comments and suggestions are very welcome.EXPORTED FUNCTIONS¶
meta_ok ($class_or_object)¶
Tests if a class or object has a metaclass.does_ok ($class_or_object, $role, ?$message)¶
Tests if a class or object does a certain role, similar to what "isa_ok" does for the "isa" method.has_attribute_ok($class_or_object, $attr_name, ?$message)¶
Tests if a class or object has a certain attribute, similar to what "can_ok" does for the methods.with_immutable { CODE } @class_names¶
Runs CODE (which should contain normal tests) twice, and make each class in @class_names immutable in between the two runs.The CODE block is called with a single boolean argument indicating whether or not the classes have been made immutable yet.
TODO¶
- Convert the Moose test suite to use this module.
- Here is a list of possible functions to write
- immutability predicates
- anon-class predicates
- discovering original method from modified method
- attribute metaclass predicates (attribute_isa?)
SEE ALSO¶
- Test::More
BUGS¶
See "BUGS" in Moose for details on reporting bugs.AUTHORS¶
- Stevan Little <stevan.little@iinteractive.com>
- Dave Rolsky <autarch@urth.org>
- Jesse Luehrs <doy@tozt.net>
- Shawn M Moore <code@sartak.org>
- יובל קוג'מן (Yuval Kogman) <nothingmuch@woobling.org>
- Karen Etheridge <ether@cpan.org>
- Florian Ragwitz <rafl@debian.org>
- Hans Dieter Pearcey <hdp@weftsoar.net>
- Chris Prather <chris@prather.org>
- Matt S Trout <mst@shadowcat.co.uk>
COPYRIGHT AND LICENSE¶
This software is copyright (c) 2006 by Infinity Interactive, Inc.This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
2018-11-02 | perl v5.28.0 |