Test::More
| Test::More | |
|---|---|
| Original author | Michael G Schwern |
| Developer | Chad 'Exodist' Granum |
| Initial release | April, 2001 |
| Written in | Perl |
| Operating system | Cross-platform |
| Available in | English |
| Type | Unit testing module |
| License | Dual-licensed - Artistic License and GPL |
| Website | https://metacpan.org/pod/Test::More |
Test::More is a unit testing module for Perl. Created and maintained by Michael G Schwern with help from Barrie Slaymaker, Tony Bowden, chromatic, Fergal Daly and perl-qa.
Test::More is a widely used Perl testing module. As of 2010, approximately 80% of all CPAN distributions made use of it.[1]
History
Introduced in 2001 to replace Test.pm, Test::More contributed to changes in testing practices in Perl and was followed by the development of additional testing modules and broader adoption of test-driven practices within the community.
In 2014, Michael Schwern transferred ownership of Test::More and related modules to Chad 'Exodist' Granum.[2] On May 10, 2016, Exodist released version 1.302015,[3][4] which included a complete refactor and partial rewrite of the internals. The new version included major API updates and additional features. Efforts were made to preserve backwards compatibility for third-party tools.
Functionality
Test::More is not a complete testing framework but can be used with other testing libraries via a shared Test::Builder object. As a result, Test::More provides the baseline testing functions, leaving other libraries to implement more specific functionality. This avoids centralizing development in a single module and supports the use of specialized testing functions.
Test programs written with Test::More output their results as TAP, which can then either be interpreted by a human or, more usually, run through a TAP parser such as Test::Harness.[5] It is this separation between test program and test result interpreter via a common protocol that has enabled the development of multiple testing modules that can be used together. Additionally, the TAP output can be stored and reinterpreted later, providing a historical record of test results.
Among its features are detailed error messages, functions to test regular expressions, functions to test objects, and functions to test complex data structures.[6] It can be used to compare values, such as a computed value to an expected value, or that a value is within an expected range.[7] The number of tests to be executed is listed in the test script.[8]
Tests that are known to fail under specific conditions or environments can be skipped.[6] This may occur if a system on which the test is executed lacks the capability to execute the tested function, or if the test is written in advance of the code.[7]
The module intercepts standard output from the Perl script to execute the tests.[9]
References
- ^ Poe, Curtis. "Test::Most". CPAN.
- ^ Granum, Chad (14 March 2014). "Test::More - New Maintainer, Also stop version checking!".
- ^ "Test::More". CPAN.
- ^ Granum, Chad (9 May 2016). "Test2+Test-Simple released!".
- ^ Conway, Damian (2005). Perl Best Practices. O'Reilly Media. ISBN 9780596001735.
- ^ a b Tregar, Sam (2002). Writing Perl Modules for CPAN. Apress. ISBN 9781430211525.
- ^ a b Cozens, Simon (2005). Advanced Perl Programming. O'Reilly Media. ISBN 9781449378912.
- ^ Galbraith, Patrick (2009). Developing Web Applications with Apache, MySQL, Memcached, and Perl. Wiley. ISBN 9780470538326.
- ^ Diment, Kieren; Trout, Matt (2009). The Definitive Guide to Catalyst. Apress. ISBN 9781430223665.
External links