1Test::Able::Planner(3)User Contributed Perl DocumentationTest::Able::Planner(3)
2
3
4
6 Test::Able::Planner - Planning role
7
9 This role represents the core of the planning support in Test::Able.
10
11 The vast majority of the time all that's necessary, in terms of
12 planning, is to set the plans at the method level. For a more thorough
13 explanation of how planning in Test::Able works read on.
14
15 In order to facilitate planning there's a hierarchy of plans. That
16 hierarchy is as follows: test-related methods, test objects, test
17 runner object, and Test::Builder. The sum of all the constituent
18 method plans make up the object plan. The sum of all the constituent
19 object plans make up the runner object plan. And the runner object
20 plan gets added to Test::Builder's plan.
21
22 Its possible to set a method's plan at any time. To make this possible
23 the object and runner object plans are cleared when a method plan is
24 set. Then, the runner object's plan gets recalculated, at the latest,
25 when it needs to add to Test::Builder's plan.
26
27 At the moment Test::Builder does not support deferred planning. Until
28 such time as Test::Builder supports it Test::Able emulates it as best
29 it can for its own purposes.
30
31 If Test::Builder's plan is set to a numeric value then Test::Able will
32 not touch it. If Test::Builder's plan is no_plan then Test::Able will
33 persuade Test::Builder to do deferred planning with what it thinks is
34 the plan.
35
36 Note that as a convenience, if Test::Builder's plan is not declared by
37 the time Test::Able's run_tests() is called the plan will be set to
38 no_plan.
39
41 builder
42 The Test::Builder instance.
43
44 plan
45 Test plan similar to Test::Builder's.
46
47 runner_plan
48 The plan that the test runner object manages. This is the top
49 level plan that all other plans are aggregated into.
50
51 last_runner_plan
52 Used by the test runner object in calculating Test::Builder's plan.
53
55 Justin DeVuyst, "justin@devuyst.com"
56
58 Copyright 2009 by Justin DeVuyst.
59
60 This library is free software, you can redistribute it and/or modify it
61 under the same terms as Perl itself.
62
63
64
65perl v5.38.0 2023-07-21 Test::Able::Planner(3)