NAME
Test::Instruction - A test framework
VERSION
Version 0.06
SYNOPSIS
use
Module::To::Test;
instruction(
test
=>
'true'
,
func
=> \
&Module::To::Test::true_function
);
instruction(
test
=>
'false'
,
func
=> \
&Module::To::Test::false_function
);
my
$obj
= Module::To::Test->new();
instruction(
test
=>
'hash'
,
instance
=>
$obj
,
meth
=>
'method_that_returns_a_hash'
,
expected
=> {
a
=> 1,
b
=> 2,
c
=> 3 }
);
finish(3);
...
instructions(
name
=>
'Checking Many Things'
,
debug
=> 1,
build
=> {
class
=>
'London'
,
},
run
=> [
{
test
=>
'hash'
,
expected
=> {
booking
=>
'66/68'
,
}
},
{
test
=>
'true'
,
meth
=>
'true'
,
},
{
test
=>
'false'
,
meth
=>
'false'
,
},
{
test
=>
'ok'
,
meth
=>
"chain"
,
instructions
=> [
{
test
=>
'hash'
,
expected
=> {
paddington
=>
"sleep"
}
}
]
}
],
);
finish();
EXPORT
instruction
instruction(
test
=>
'ok'
,
instance
=> Module::To::Test->new(),
func
=>
'okay'
,
args
=> {
data
=>
'...'
},
);
test
you can currently run the following tests.
over
- ok - ok - a true value
- ref - is_deeply - expected [] or {}
- scalar - is - expected '',
- hash - is_deeply - expected {},
- array - is_deeply - expected [],
- obj - isa_ok - expected '',
- like - like - '',
- true - is - 1,
- false - is - 0,
- undef - is - undef
- ref_key_scalar - is - '' (requires key)
- ref_key_ref - is_deeply - [] or {} (requires key)
- ref_key_like - like - ''
- ref_index_scalar - is - '' (requires index)
- ref_index_ref - is_deeply - [] or {} (required index)
- ref_index_like - like - ''
- ref_index_obj - isa_ok - ''
- list_key_scalar - is - '' (requires key)
- list_key_ref - is_deeply - [] or {} (requires key)
- list_key_like - like - ''
- list_index_scalar - is - '' (requires index)
- list_index_ref - is_deeply - [] or {} (required index)
- list_index_obj - isa_ok - ''
- list_index_like - like - ''
- count - is - ''
- count_ref - is - ''
- skip - ok(1)
- code - is - 'CODE'
- code_execute - is_deeply - ''
catch
when you want to catch exceptions....
catch
=> 1,
defaults the instruction{test} to like.
instance
my
$instance
= My::Test::Module->new();
instance
=>
$instance
,
meth
call a method from the instance
instance
=>
$instance
,
meth
=>
'render'
func
func
=> \
&My::Test::Module::render
,
ref_key
instance
=> {
a
=> 1 },
ref_key
=>
'a'
ref_index
instance
=> [ 1, 2, 3 ],
ref_index
=> 2
args
{} or []
args_list
args
=> [
qw/one, two/
],
args_list
=> 1,
index
index - required when testing - ref_index_* and list_index_*
key
key - required when testing - ref_key_* and list_key_*
instructions
package
Foo;
sub
new {
bless
{},
shift
; }
sub
bar { [
'a'
, [1, 2, 3],
'b'
] }
1;
instructions(
name
=>
'Testing Foo'
,
build
=> {
class
=>
'Foo'
,
},
run
=> [
{
test
=>
'ok'
,
meth
=>
'bar'
,
instructions
=> [
{
test
=>
'ref_index_scalar'
,
index
=> 0,
expected
=>
'a'
},
{
test
=>
'ok'
,
ref_index
=> 1,
instructions
=> [
{
test
=>
'array'
,
expected
=> [1, 2, 3]
},
{
test
=>
'ref_index_scalar'
,
index
=> 0,
expected
=> 1
}
]
},
...
]
}
]
);
finish
finish();
finish(
$total_number_of_tests
);
AUTHOR
LNATION, <email at lnation.org>
BUGS
Please report any bugs or feature requests to bug-test-instruction at rt.cpan.org
, or through the web interface at https://rt.cpan.org/NoAuth/ReportBug.html?Queue=Test-Instruction. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.
SUPPORT
You can find documentation for this module with the perldoc command.
perldoc Test::Instruction
You can also look for information at:
RT: CPAN's request tracker (report bugs here)
CPAN Ratings
Search CPAN
ACKNOWLEDGEMENTS
LICENSE AND COPYRIGHT
This software is Copyright (c) 2022 by LNATION.
This is free software, licensed under:
The Artistic License 2.0 (GPL Compatible)
1 POD Error
The following errors were encountered while parsing the POD:
- Around line 618:
'=item' outside of any '=over'