1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106
|
# pytest-sugar ✨
[](https://github.com/Teemu/pytest-sugar/actions)
[](https://pypi.org/project/pytest-sugar/)
[](https://pypi.org/project/pytest-sugar/)

This plugin extends [pytest](http://pytest.org) by showing failures and errors instantly, adding a progress bar, improving the test results, and making the output look better.

## Installation
To install pytest-sugar:
python -m pip install pytest-sugar
Once installed, the plugin is activated automatically. Run your tests normally:
pytest
If you would like more detailed output (one test per line), then you may use the verbose option:
pytest --verbose
If you would like to run tests without pytest-sugar, use:
pytest -p no:sugar
## Usage
pytest-sugar provides several command-line options to customize its output and behavior. These options enhance test reporting and Playwright trace integration:
Show detailed test failures instead of one-line tracebacks.
Use this if you want to see the full failure information instantly.
--old-summary
Force pytest-sugar output even if pytest doesn’t detect a real terminal.
Useful when running tests in CI systems or other non-interactive environments.
--force-sugar
Specify the directory where Playwright trace files are stored.
Defaults to Playwright default: "test-results"
--sugar-trace-dir <directory>
Disable Playwright trace file detection and output display.
Use this if you want to turn off trace collection or display entirely.
--sugar-no-trace
## How to contribute 👷♂️
[](https://github.com/codespaces/new?hide_repo_select=true&ref=master&repo=10950375)
Make sure to read our [Code of Conduct](https://github.com/Teemu/pytest-sugar/blob/master/.github/CODE_OF_CONDUCT.md). You can get started modifying the codebase with the following commands. Alternatively, you can try Github Codespaces (click the badge above). Push the changes to your repository & create a pull request.
````
git clone git@github.com:Teemu/pytest-sugar.git
cd pytest-sugar
python -m venv .venv
source .venv/bin/activate
echo ".venv" >> .git/info/exclude
pip install -e ".[dev]"
pre-commit install
````
There are two ways of running tests. We have our proper tests:
````
pytest .
````
There are also fake tests that can be used to visualise the output:
````
pytest faketests
````
When submitting a pull request, please add a `RELEASE.md` file in the root of the project that contains the release type (major, minor, patch) and a summary of the changes that will be used as the release changelog entry. For example:
```markdown
Release type: patch
For long-running tests, display minutes and not only seconds.
```
## Requirements
You will need the following prerequisites in order to use pytest-sugar:
- Python 3.8 or newer
- pytest 6.2 or newer
## Running on Windows
If you are seeing gibberish, you might want to try changing charset and fonts. See [this comment]( https://github.com/Teemu/pytest-sugar/pull/49#issuecomment-146567670) for more details.
## Similar projects
- [pytest-rich](https://github.com/nicoddemus/pytest-rich)
- [pytest-pretty](https://github.com/samuelcolvin/pytest-pretty)
|