pas2ut
Section: Free Pascal unit test creation tool (1)
Updated: 5 sep 2015
Page Index
NAME
pas2ut - The Free Pascal unit to unit test case conversion tool.
SYNOPSIS
pas2ut [options] inputfile [outputfile]
DESCRIPTION
pas2ut
Scans the input file for classes and routines, and creates a testcase for
all classes and routines found in the interface section of the file.
It can generate a unit or an include file. All tests are created with a
standard fail message. By default, only tests for public, published
and default visibility members of classes are generated.
USAGE
pas2ut
takes the following options at this time:
- --defaultclasstest=list
-
Specify a comma-separated list of default tests for each class.
The elements in the list must be valid pascal identifiers.
- --failmessage=Msg
-
Set the message for the
Fail()
statement inside each test method.
- --limit=list
-
Specify a comma-separated list of global identifiers for which to generate tests.
By default, tests are generated for all global identifiers in the interface section of a unit.
- --prefix=name
-
Set the prefix for the test names (default is
Test
). A test is named after the identifier it tests, with this prefix.
- --singletestclass
-
Use a single test class for each class found.
The default is to create a testcase class per class in the input unit.
- --skip-classes
-
Do not generate test code for classes, only for functions and procedures.
- --skip-declaration
-
Do not generate declarations for the tests, only implementations.
- --skip-default
-
skip tests for default visibility members.
By default, they are generated, together with Public or published members.
- --skip-fail
-
Do not create
fail()
statements in test routine implementations.
- --skip-fields
-
Do not generate testcases for fields of classes (only for methods and properties).
- --skip-functions
-
Do not generate tests for functions/procedures, only for classes.
- --skip-implementation
-
Do not generate (empty) implementation for the tests, only a class declaration is generated.
(it can be completed in an IDE such as Lazarus or MSIDE)
- --skip-methods
-
Do not generate tests for methods of classes, only for fields and properties.
- --skip-properties
-
Do not generate tests for properties of classes, only for fields and methods.
- --skip-property-default
-
Do not generate a default test for each property.
- --skip-public
-
Skip tests for public members, only protected members will be tested if --test-protected is in effect.
- --skip-published
-
Do not generate tests for published members, only public and default members will be tested.
- --skip-register
-
Do not generate RegisterTests statement.
- --skip-setup
-
Do not override the
TTestCase.Setup()
method in the generated class.
- --skip-teardown
-
Do not override the
TTestCase.TearDown()
method in the generated class.
- --skip-unit
-
Do not generate a unit, just an include file.
- --testparentname=name
-
Set the name of the parent class for generated test classes. The default is
TTestCase
, this can be used to set another class name.
- --test-property-bounds
-
Generate a
GetBounds
test for each property.
- --test-property-maxlen
-
Generate a
MaxLen
test for each property.
- --test-property-notify
-
Generate a
Notify
test for each property.
- --test-property-required
-
Generate a
Required
test for each property.
- --test-protected
-
Also generate tests for protected class members.
By default, tests are only generated for public, published and default visibility members.
- --testunitname=name
-
Set the name of the generated unit (default is taken from output file name)
- --tiopf
-
Create tiopf tests (this is the same as specifying --default,--bounds,--required,--notify and --maxlen tests.)
- --unittestclassname=name
-
Set the global unit test class name. To be used with --singletestclass.
The --limit and --defaultclasstest may be specified multiple times.
SEE ALSO
-
fpc(1)