Flake8-AAA¶
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.
Compatibility¶
- 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.
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
signature:
$ flake8 --version
3.7.7 (aaa: 0.6.2, mccabe: 0.6.1, pycodestyle: 2.5.0, pyflakes: 2.1.1) CPython 3.6.7 on Linux
The aaa: 0.6.2
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:
$ flake8