---
title: "Introduction"
description: "What an output is, when it is written, and which plans write which"
url: "https://docs.justcat.it/reference/outputs/introduction/"
---
# Introduction


Without an `Output` setting a run leaves no record beyond the console and the log. With one, every test is written where the setting says — its [result](https://docs.justcat.it/reference/tests/results/ "Results"), message and timing, **and the whole test definition** (suite, name, description, data sources, queries, expectation, …), so an output can be read without the project file:

```yaml
Output: xlsx, json
```

That line puts an Excel file and a JSON file into `TestResults/` next to the project file after every run. The `Output` key is a [root setting](https://docs.justcat.it/reference/project-file/root-settings/ "Root settings") of the project file; [Settings](https://docs.justcat.it/reference/outputs/settings/ "Output settings") has the long form — file names, paths, databases, several outputs at once.

## Files and databases

| Kind | Formats | Written |
|---|---|---|
| File | [JSON](https://docs.justcat.it/reference/outputs/json/ "JSON") · [YAML](https://docs.justcat.it/reference/outputs/yaml/ "YAML") · [XLSX](https://docs.justcat.it/reference/outputs/xlsx/ "XLSX") · [JUnit](https://docs.justcat.it/reference/outputs/junit/ "JUnit") · [TRX](https://docs.justcat.it/reference/outputs/trx/ "TRX") | Once, after the last test has finished. |
| Database | [SQL Server](https://docs.justcat.it/reference/outputs/sqlserver/ "SQL Server") · [PostgreSQL](https://docs.justcat.it/reference/outputs/postgres/ "PostgreSQL") · [Oracle](https://docs.justcat.it/reference/outputs/oracle/ "Oracle") — a table to insert into, or a procedure to call | One row (or one call) per test, as each test finishes. |

A file output holds the whole run; a database output has the rows of the tests that have finished even when the run is killed halfway. The two kinds combine freely, and a project may define any number of outputs. Every tool writes them — CAT Studio, CAT CLI, the PowerShell module, the Python module — and every command-line tool has a switch to skip them for one run (`catcli run -n`, `Invoke-CatProject -SkipOutputs`, `invoke_project(skip_outputs=True)`).

## Plans

The Starter and Professional plans write results to **MS Excel only**. A project on those plans that asks for any other format, or for a database, is refused when it is opened; the message names the plan and says what the Team plan adds. See [Compare plans](https://docs.justcat.it/compare-plans/ "Compare plans").

## Related

* [Overview](https://docs.justcat.it/reference/outputs/overview/ "Overview") — every format on one table, and the sample run the format pages share.
* [Settings](https://docs.justcat.it/reference/outputs/settings/ "Settings") — the `Output` key in full.
* [Properties](https://docs.justcat.it/reference/outputs/properties/ "Properties") — every field a result carries into an output.

