pas2ut - The Free Pascal unit to unit test case conversion
tool.
pas2ut [options] inputfile [outputfile]
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.
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.