<!DOCTYPE html>
<html>
<head>
<title></title>
<style type="text/css">p.MsoNormal,p.MsoNoSpacing{margin:0}</style>
</head>
<body><div>Hi all,<br></div>
<div><br></div>
<div>If you're using something like the Arrange Act Assert pattern (AAA) / Given When Then for writing your Python tests and Flake8 for linting your code, then I'd be interested in your feedback on a Flake8 plugin that I've been working on called flake8-aaa: <a href="https://github.com/jamescooke/flake8-aaa">https://github.com/jamescooke/flake8-aaa</a><br></div>
<div><br></div>
<div>This plugin is in beta and currently checks four basic rules to help break a test into three distinct blocks: <a href="https://flake8-aaa.readthedocs.io/en/stable/rules.html">https://flake8-aaa.readthedocs.io/en/stable/rules.html</a> and is based on the description that I've put together for AAA here: <a href="https://jamescooke.info/arrange-act-assert-pattern-for-python-developers.html">https://jamescooke.info/arrange-act-assert-pattern-for-python-developers.html</a> .<br></div>
<div><br></div>
<div>Some background: I wrote the plugin because I found that I was slipping when following the AAA pattern and Adam (who some of you might know <a href="https://github.com/adamchainz/">https://github.com/adamchainz/</a>) suggested that I write a Flake8 plugin. It's currently kind of self-hosted (in that it tests its own tests at test time), plus I'm using it happily at work and in some open source projects.<br></div>
<div><br></div>
<div>Please let me know via email or GitHub issues if:<br></div>
<div>- You like the idea and want more!<br></div>
<div>- You have any tests that failed any of the current four checks, but think they shouldn't have.<br></div>
<div>- Conversely, you've found a test that passed, but you think it shouldn't have.<br></div>
<div>- This kind of thing is interesting, but you'd prefer a plugin for pylint.<br></div>
<div>- You've spotted that my plugin's code is terrible and how I should improve it (PRs welcome ;) )<br></div>
<div>- There's already something that does this / some other package that I should be putting my efforts into.<br></div>
<div> <br></div>
<div>Thanks for reading and happy testing!<br></div>
<div><br></div>
<div>James<br></div>
<div><br></div>
<div><br></div>
</body>
</html>