--- tags: - python - testing - pytest references: - https://docs.pytest.org/en/stable/explanation/anatomy.html#test-anatomy --- Tests look at the result of how the system under test (SUT) responds to a certain input. It shouldn't care too much about how or why something was done, but mainly about what was done. A test can be seperated into four stages: - Arrange: prepares everything needed to run the test. - Act: the singular action that triggers the behaviour that's being tested. - Assert: looking at what changed in response to the action. - Cleanup: make sure that tests do not influence other tests - by resetting to a "clean" state.