Welcome to Flake8-AAA’s documentation¶
A linter for Python tests.
A Flake8 interface to automatically lint test files as part of your Flake8 run.
A command line interface for custom (non-Flake8) usage and debugging.
Tests are linted against the Arrange Act Assert pattern.
TL;DR following the AAA pattern means tests look like this:
def test(): """ __docstring__ """ <ARRANGE block> # set up of the system under test (SUT) <ACT block> # perform a single action on the SUT <ASSERT block> # check that the SUT changed as expected
You might want to take a look at the examples.
- Pytest and unittest styles of testing supported.
- Compatible with Black formatted code.
- Tested on latest three versions of Python: 3.5, 3.6 and 3.7.
- Python 2 supported up to
v0.4.0: pypi, docs, tag.
See the “Compatibility list” on ReadTheDocs for full info.
$ pip install flake8-aaa
Integration with Flake8¶
Given that you already have Flake8 installed in the same environment, check
that Flake8-AAA was installed correctly by asking
flake8 for its version
$ flake8 --version 3.7.8 (aaa: 0.7.0, mccabe: 0.6.1, pycodestyle: 2.5.0, pyflakes: 2.1.1) CPython 3.6.7 on Linux
aaa: 0.7.0 part of that output tells you Flake8 found this plugin. Now
you can run
flake8 as usual against your project and Flake8-AAA will lint
your tests via its plugin:
- Compatibility list
- Test discovery
- Rules and error codes
- Controlling Flake8-AAA
- Release checklist