Skip to content

Command Line Interface 🚀

Prova tests are standard .NET Console Applications. You can run them using dotnet run, dotnet test, or by executing the compiled binary directly.

Running Tests

Standard Execution

bash
dotnet test

Direct Execution (Faster)

Executing the binary directly bypasses MSBuild overhead, providing near-instant startup.

bash
./bin/Debug/net10.0/MyTestProject

Prova-Specific Arguments

In Prova, arguments are passed after a -- separator when using dotnet run or dotnet test.

Filtering

ArgumentDescription
--filter <PATTERN>Run tests matching the glob pattern (e.g., *Calculator*).
--property <KEY>=<VALUE>Run tests with specific metadata traits.
--focusRun only tests decorated with the [Focus] attribute.

Observability

ArgumentDescription
--coverageEnable code coverage collection (Native LCOV).
--coverage-output <PATH>Specify the output path for coverage.lcov.
--list-testsList all discovered tests without executing them.
--list-propertiesList all available properties/traits used in the project.

Debugging & Reliability

ArgumentDescription
--crashdumpCapture a process dump if the test runner crashes.
--hangdumpCapture a dump if tests exceed the hang timeout.
--hangdump-timeout <DURATION>Set the hang timeout (e.g., 5m, 1h).
--retry <COUNT>Override the default retry count for all tests.
--timeout <MS>Override the default timeout for all tests.

Output & Logging

ArgumentDescription
--verboseEnable detailed logging.
--quietMinimize console output.
--no-colorDisable ANSI color codes in the console.
--report <FORMAT>Specify a report format (e.g., console, json).

Microsoft Testing Platform (MTP) Arguments

Thanks to Prova v0.5.0's MTP-Native execution, MTP arguments work identically whether you use dotnet run, dotnet test, or the raw executable.

bash
# Discover 0ms static test registry tests
dotnet run -- --list-tests

# Generate a TRX report via dotnet test
dotnet test --report-trx

# Filter via tree node filter using the executable
./bin/Debug/net10.0/MyTestProject --treenode-filter="*Calculator*"

Released under the MIT License.