---
name: "Test::Moose"
section: "3pm"
platform: "linux"
package: "perl-moose"
version: "2.4001-2"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/Test::Moose"
---

# Test::Moose(3pm)

Test functions for Moose specific features

## NAME

Test::Moose - Test functions for Moose specific features

## VERSION

version 2.4001

## 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@cpan.org\>

- •

  Dave Rolsky \<autarch@urth.org\>

- •

  Jesse Luehrs \<doy@cpan.org\>

- •

  Shawn M Moore \<sartak@cpan.org\>

- •

  יובל קוג'מן (Yuval Kogman) \<nothingmuch@woobling.org\>

- •

  Karen Etheridge \<ether@cpan.org\>

- •

  Florian Ragwitz \<rafl@debian.org\>

- •

  Hans Dieter Pearcey \<hdp@cpan.org\>

- •

  Chris Prather \<chris@prather.org\>

- •

  Matt S Trout \<mstrout@cpan.org\>

## 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.
