pytest plugin to check FLAKE8 requirements
Project description
Usage
Install by running the command:
pip install pytest-flake8
After installing it, when you run tests with the option:
pytest --flake8
every file ending in .py will be discovered and checked with flake8.
Configuring FLAKE8 options per project and file
Maximum line length and maximum doc line length can be configured for the whole project by adding a flake8-max-line-length option and flake8-max-doc-length to your setup.cfg or tox.ini file like this:
# content of setup.cfg [tool:pytest] flake8-max-line-length = 99 flake8-max-doc-length = 74
Note that the default will be what naturally comes with flake8 (which it turn gets its default from pycodestyle).
You may configure flake8-checking options for your project by adding an flake8-ignore entry to your setup.cfg or tox.ini file like this:
# content of setup.cfg [tool:pytest] flake8-ignore = E201 E231
This would globally prevent complaints about two whitespace issues. Rerunning with the above example will now look better:
$ pytest -q --flake8 collecting ... collected 1 items . 1 passed in 0.01 seconds
If you have some files where you want to specifically ignore some errors or warnings you can start a flake8-ignore line with a glob-pattern and a space-separated list of codes:
# content of setup.cfg [tool:pytest] flake8-ignore = *.py E201 doc/conf.py ALL
So if you have a conf.py like this:
# content of doc/conf.py func ( [1,2,3]) #this line lots PEP8 errors :)
then running again with the previous example will show a single failure and it will ignore doc/conf.py altogether:
$ pytest --flake8 -v # verbose shows what is ignored ======================================= test session starts ======================================== platform darwin -- Python 2.7.6 -- py-1.4.26 -- pytest-2.7.0 -- /Users/tholo/Source/pytest/bin/python cachedir: /Users/tholo/Source/pytest/src/verify/.cache rootdir: /Users/tholo/Source/angular/src/verify, inifile: setup.cfg plugins: flake8, cache collected 1 items myfile.py PASSED ========================================= 1 passed in 0.00 seconds =========================================
Note that doc/conf.py was not considered or imported.
FAQs
All the flake8 tests are skipping!
This is by design. Clean flake8 results are cached and, unless the file is modified, not tested again.
You can run with pytest --cache-clear --flake8 to override this.
Notes
The repository of this plugin is at https://github.com/tholo/pytest-flake8
For more info on pytest see http://pytest.org
The code is partially based on Ronny Pfannschmidt’s pytest-codecheckers plugin.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for pytest_flake8-1.1.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e73e0c24146e260832d08a14f1b6ae914a4ff874dd7db8edfc77ef281f1f0ae7 |
|
MD5 | 0590c40911ac94e8a7c5bf3abe9daca7 |
|
BLAKE2b-256 | 044f24a9dc9ecc60ef9ed18afcfbd49a10b6046ba8b641e0acca3cda8444bf5f |