logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

Test2::Todo - TODO extension for Test2.

Authors

       Chad Granum <exodist@cpan.org>

Class Methods

       $count = Test2::Todo->hub_in_todo($hub)
           If  the  hub  has  any todo objects this will return the total number of them. If the hub has no todo
           objects it will return 0.

Construction Options

       reason (required)
           The reason for the todo, this can be any defined value.

       hub (optional)
           The hub to which the TODO state should be applied. If none is provided then the current global hub is
           used.

Description

       This is an object that lets you create and manage TODO states for tests. This is an extension, not a
       plugin or a tool. This library can be used by plugins and tools to manage todo states.

       If you simply want to write a todo test then you should look at the "todo" function provided by
       Test2::Tools::Basic.

Instance Methods

       $todo->end
           End the todo state.

Maintainers

       Chad Granum <exodist@cpan.org>

Name

       Test2::Todo - TODO extension for Test2.

Other Notes

Howitworks
       When an instance is created a filter sub is added to the Test2::Hub. This filter will set the "todo"  and
       "diag_todo" attributes on all events as they come in. When the instance is destroyed, or end() is called,
       the filter is removed.

       When  a new hub is pushed (such as when a subtest is started) the new hub will inherit the filter, but it
       will only set "diag_todo", it will not set "todo" on events in child hubs.

   $todo->endiscalledatdestruction
       If your $todo object falls out of scope and gets garbage collected, the todo will end.

   CanIusemultipleinstances?
       Yes. The most recently created one that is still active will win.

Source

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

Synopsis

           use Test2::Todo;

           # Start the todo
           my $todo = Test2::Todo->new(reason => 'Fix later');

           # Will be considered todo, so suite still passes
           ok(0, "oops");

           # End the todo
           $todo->end;

           # TODO has ended, this test will actually fail.
           ok(0, "oops");

See Also