---
name: "pas2ut-3.0.4"
section: "1"
platform: "linux"
package: "fp-utils-3.0.4"
version: "3.0.4+dfsg-22"
release: "Debian 10 (Buster)"
platforms: ["linux"]
url: "https://new.carta.tech/pas2ut-3.0.4"
---

# pas2ut-3.0.4(1)

The Free Pascal unit to unit test case conversion tool.

## 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)](/fpc/1.md)
