Welcome to Flake8-AAA’s documentation

Travis build Read the Docs PyPI PyPI - Python Version flake8-aaa is licensed under the MIT License


A linter for Python tests.

  • Pytest and unittest styles supported.

  • Tests are linted against the Arrange Act Assert pattern.

    TL;DR following the AAA pattern means tests look like this:

    def test():
        # ARRANGE: set up of the system under test (SUT)
        # ACT: perform a single action on the SUT
        # ASSERT: check that the SUT changed as expected
  • Provides a Flake8 interface to automatically lint test files as part of your Flake8 run.

  • Provides a command line interface for custom (non-Flake8) usage and debugging.


Install with pip:

$ 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 signature:

$ flake8 --version
3.7.6 (aaa: 0.5.1, mccabe: 0.6.1, pycodestyle: 2.5.0, pyflakes: 2.1.0) CPython 3.5.2 on Linux

The (aaa: 0.5.1, ... 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