Test::Moose

Section: User Contributed Perl Documentation (3)
Updated: 2018-05-16
Page Index
 

NAME

Test::Moose - Test functions for Moose specific features  

VERSION

version 2.2011  

SYNOPSIS

  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.


 

Index

NAME
VERSION
SYNOPSIS
DESCRIPTION
EXPORTED FUNCTIONS
meta_ok ($class_or_object)
does_ok ($class_or_object, $role, ?$message)
has_attribute_ok($class_or_object, $attr_name, ?$message)
with_immutable { CODE } @class_names
TODO
SEE ALSO
BUGS
AUTHORS
COPYRIGHT AND LICENSE