Test::Moose(3) User Contributed Perl Documentation Test::Moose(3) NAME Test::Moose - Test functions for Moose specific features VERSION version 2.4000 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 o Stevan Little o Dave Rolsky o Jesse Luehrs o Shawn M Moore o ' (Yuval Kogman) o Karen Etheridge o Florian Ragwitz o Hans Dieter Pearcey o Chris Prather o Matt S Trout 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. perl v5.42.2 2026-06-15 Test::Moose(3)