# platformio test

Helper command for local PIO Unit Testing.

Contents

- platformio test

  - Usage

  - Description

  - Options

  - Examples

## Usage

    platformio test [OPTIONS]
    pio test [OPTIONS]

## Description

Run locally tests from PlatformIO based project. More details about PlatformIO PIO Unit Testing.

This command allows you to apply the tests for the environments specified in “platformio.ini” (Project Configuration File).

## Options

-e, --environment

Process specified environments. More details `platformio run --environment`

-f, --filter

Process only the tests where the name matches specified patterns. More than one pattern is allowed. If you need to filter some tests for a specific environment, please take a look at test_filter option from “platformio.ini” (Project Configuration File).

Pattern | Meaning
--- | ---
`*` | matches everything
`?` | matches any single character
`[seq]` | matches any character in seq
`[!seq]` | matches any character not in seq

For example, `platformio test --filter "mytest*" -i "test[13]"`

-i, --ignore

Ignore tests where the name matches specified patterns. More than one pattern is allowed. If you need to ignore some tests for a specific environment, please take a look at test_ignore option from “platformio.ini” (Project Configuration File).

Pattern | Meaning
--- | ---
`*` | matches everything
`?` | matches any single character
`[seq]` | matches any character in seq
`[!seq]` | matches any character not in seq

For example, `platformio test --ignore "mytest*" -i "test[13]"`

--upload-port

A port that is intended for firmware uploading. To list available ports please use platformio device list command.

If upload port is not specified, PlatformIO will try to detect it automatically.

--test-port

A Serial/UART port that PlatformIO uses as communication interface between PlatformIO Unit Test Engine and target device. To list available ports please use platformio device list command.

If test port is not specified, PlatformIO will try to detect it automatically.

-d, --project-dir

Specify the path to project directory. By default, `--project-dir` is equal to current working directory (`CWD`).

-c, --project-conf

New in version 4.0.

Process project with a custom “platformio.ini” (Project Configuration File).

--without-building

Skip building stage.

--without-uploading

Skip uploading stage

--no-reset

Disable software reset via `Serial.DTR/RST` before test running. In this case, need to press “reset” button manually after firmware uploading.

Warning

If board does not support software reset via `Serial.DTR/RTS` you should add >2 seconds delay before `UNITY_BEGIN()`. We need that time to establish a ``Serial` communication between host machine and target device. See PIO Unit Testing.

--monitor-rts

Set initial `RTS` line state for Serial Monitor (`0` or `1`), default `1`. We use it to gather test results via Serial connection.

--monitor-dtr

Set initial `DTR` line state for Serial Monitor (`0` or `1`), default `1`. We use it to gather test results via Serial connection.

-v, --verbose

Shows detailed information when processing environments.

This option can also be set globally using force_verbose setting or by environment variable `PLATFORMIO_SETTING_FORCE_VERBOSE`.

## Examples

For the examples please follow to PIO Unit Testing page.