An open API service indexing awesome lists of open source software.

https://github.com/martinsmid/pytest-ui

Text User Interface for running python tests
https://github.com/martinsmid/pytest-ui

pytest python test-runner testing testing-tools

Last synced: about 2 months ago
JSON representation

Text User Interface for running python tests

Awesome Lists containing this project

README

          

[![Build Status](https://travis-ci.com/martinsmid/pytest-ui.svg?branch=master)](https://travis-ci.com/martinsmid/pytest-ui)

# pytest-ui
Text User Interface for running python tests. Still in _beta_ version

# installation
- install using pip
`pip install pytest-ui`
- provides the cli command `pytui`

# usage
```
$ pytui --help
Usage: pytui [OPTIONS] [PATH]

Options:
--debug / --no-debug Enable debug logging [default: False]
--help Show this message and exit.
```
- pypi address
https://pypi.python.org/pypi/pytest-ui

# keyboard controls
- r, F5 - run tests (last failed or first run, using filter)
- R, Ctrl + F5 - run all tests (using filter)
- s - run single test under cursor
- / - focus filter input
- Ctrl + f - clear filter input and focus it
- F4 - toggle show only failed tests
- Alt + Up/Down - navigate between failed tests (skipping passed)
- q - close window, quit (in main window)

## filter input
By default, filter input is in fuzzy mode. This could be avoided by using dash signs,
where exact match mode is used between a pair of them. For example

`abc#match#def` will match fuzzy "abc", then exactly "match" and then again fuzzy "def"

# main goals
The goal of this project is to ease the testing process by
- [x] selecting tests to run using fuzzy filter
- [x] viewing failed tests stacktrace/output/log while the test suite is still running
- [x] rerunning failed tests
- [ ] running a test with debugger
- [ ] usage as pytest plugin (for custom pytest scripts)