Test2::Compare::Object(3pm) Perl Programmers Reference Guide Test2::Compare::Object(3pm)

# [NAME](#NAME)

Test2::Compare::Object - Representation of an object during deep comparison.

# [DESCRIPTION](#DESCRIPTION)

This class lets you specify an expected object in a deep comparison. You can check the fields/elements of the underlying reference, call methods to verify results, and do meta checks for object type and ref type.

# [METHODS](#METHODS)

$class = $obj-&gt;meta\_class

The meta-class to be used when checking the object type. This is mainly listed because it is useful to override for specialized object subclasses.

This normally just returns Test2::Compare::Meta.

$class = $obj-&gt;object\_base

The base-class to be expected when checking the object type. This is mainly listed because it is useful to override for specialized object subclasses.

This normally just returns 'UNIVERSAL'.

$obj-&gt;add\_prop(...)

Add a meta-property to check, see Test2::Compare::Meta. This method just delegates.

$obj-&gt;add\_field(...)

Add a hash-field to check, see Test2::Compare::Hash. This method just delegates.

$obj-&gt;add\_item(...)

Add an array item to check, see Test2::Compare::Array. This method just delegates.

$obj-&gt;add\_call($method, $check)

$obj-&gt;add\_call($method, $check, $name)

$obj-&gt;add\_call($method, $check, $name, $context)

Add a method call check. This will call the specified method on your object and verify the result. $method may be a method name, an array ref, or a coderef.

If it's an arrayref, the first element must be the method name, and the rest are arguments that will be passed to it.

In the case of a coderef it can be helpful to provide an alternate name. When no name is provided the name is either $method or the string '\\&CODE'.

If $context is 'list', the method will be invoked in list context, and the result will be an arrayref.

If $context is 'hash', the method will be invoked in list context, and the result will be a hashref (this will warn if the method returns an odd number of values).

# [SOURCE](#SOURCE)

The source code repository for Test2-Suite can be found at *https://github.com/Test-More/test-more/*.

# [MAINTAINERS](#MAINTAINERS)

[Chad Granum &lt;exodist@cpan.org&gt;](#Chad)

# [AUTHORS](#AUTHORS)

[Chad Granum &lt;exodist@cpan.org&gt;](#Chad~2)

# [COPYRIGHT](#COPYRIGHT)

Copyright Chad Granum &lt;exodist@cpan.org&gt;.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

See *http://dev.perl.org/licenses/*

2026-10-27 perl v5.44.0

---

Document: Test2::Compare::Object(3pm) from perl 5.44.0-r4 (Chainguard OS)
Source: https://github.com/Perl/perl5.git
