Depending on what helper tools you are using, you have to use different syntax, which is kind of annoying. For instance, I regularly forget the proper way how to trigger the test discovery with the unittest framework of the Python standard library. With manati you have the choice to use different tools, but don’t have to remember the exact syntax for each of them.
Here is what you can currently run with manati:
coverage Run test coverage. docs Build the documentation and show it in browser. flake8 Run PEP8 style enforcement. tests Run tests in a test folder.
To run your test suite with manati, type
manati run tests
You will be asked what testing framework you want to run your tests with. Currently, manati supports unittest and pytest as two of the most popular solutions. If you are missing your favorite framework, please submit an issue with a feature request.
Options: -t TEXT Directory with tests. [required] -r, --runner [unittest|pytest] Test runner [required] --help Show this message and exit.
Analyze test coverage¶
You can analyze the test coverage with manati by typing
manati run coverage
You will be asked which package to analyze and in which folder the tests are located. If the defaults that manati is guessing are correct, just confirm them with ENTER.
Options: -s, --source TEXT Package on which to run coverage. [required] -t, --tests TEXT Directory with tests. [required] -r, --runner [unittest|pytest] Test runner [required] --help Show this message and exit.
If your project has a
./docs folder with a proper Sphinx documentation,
you can build the HTML files and show them in the browser by simply typing
manati run docs
Run style enforcement¶
Proper code style is important, so you should follow the style recommendations as defined in PEP8. However, the line length limitation of 79 characters is extremely annoying. That is why manati uses 120 character per line as the default in flake8. To scan for style deviations, run
Usage: manati run flake8 [DIRS]... Run PEP8 style enforcement. But in contrast to PEP8, by default 120 characters per line are ok.