Set Default Working Directory of Pytest in PyCharm
IDEs are cool and all, but in their magic, they can change configurations that you wanted to stay the same.
pytest Norms
Many pythonistas write pytests that assume the project root to be the working directory.
PyCharm is making the test script that is run the working directory. And when you run a new test, any adjustments you made to the working directory configuration are changed.
Making changes permanent
To keep the configuration you want permanent within the PyCharm test runner, you'll want to do the following:
Edit the default test runner for the project to be pytest (or whatever you specifically use). To do this, open Preferences > Python Integrated Tools > Default test runner. Select pytest.
Edit the Configuration Template for pytest. To do this, open Edit Configurations > Edit configuration templates > Python tests > pytest. Set Working directory to the Content Root, or project root.
Note that any test Configurations that have already been configured will not have these defaults set. You'll likely want to delete and re-create them (or edit each one as described above).
Run tests. Adhoc pytest Configurations will be spun up. They should inherit these defaults.