aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorskullY <skullydazed@gmail.com>2020-01-13 21:24:55 -0800
committerskullydazed <skullydazed@users.noreply.github.com>2020-01-14 07:52:14 -0800
commit44168baaa74190bb78216c27500101a75516fad6 (patch)
tree1c79074b9e6cad53cd5c9438768553756e814a4e
parentc7b2d60a2391f64cf2fd1e18266e2df1086815ca (diff)
downloadqmk_firmware-44168baaa74190bb78216c27500101a75516fad6.tar.gz
qmk_firmware-44168baaa74190bb78216c27500101a75516fad6.zip
Add a section on python tests
-rw-r--r--docs/coding_conventions_python.md16
1 files changed, 14 insertions, 2 deletions
diff --git a/docs/coding_conventions_python.md b/docs/coding_conventions_python.md
index 9dd95e4b7..cf9ab838e 100644
--- a/docs/coding_conventions_python.md
+++ b/docs/coding_conventions_python.md
@@ -309,6 +309,18 @@ FIXME(username): Revisit this code when the frob feature is done.
309 309
310...where username is your GitHub username. 310...where username is your GitHub username.
311 311
312# Unit Tests 312# Testing
313 313
314These are good. We should have some one day. 314We use a combination of Integration and Unit testing to ensure that the our code is as bug-free as possible. All the tests can be found in `lib/python/qmk/tests/`.
315
316At the time of this writing our tests are not very comprehensive. Looking at the current tests and writing new test cases for untested situations is a great way to both familiarize yourself with the codebase and contribute to QMK.
317
318## Integration Tests
319
320Integration tests can be found in `lib/python/qmk/tests/test_cli_commands.py`. This is where CLI commands are actually run and their overall behavior is verified. We use [`subprocess`](https://docs.python.org/3.5/library/subprocess.html#module-subprocess) to launch each CLI command and a combination of checking output and returncode to determine if the right thing happened.
321
322## Unit Tests
323
324The other `test_*.py` files in `lib/python/qmk/tests/` contain unit tests. You can write tests for individual functions inside `lib/python/qmk/` here. Generally these files are named after the module, with dots replaced by underscores.
325
326At the time of this writing we do not do any mocking for our tests. If you would like to help us change this please [open an issue](https://github.com/qmk/qmk_firmware/issues/new?assignees=&labels=cli%2C+python&template=other_issues.md&title=) or [join #cli on Discord](https://discord.gg/heQPAgy) and start a conversation there.