Basically start with the types of tests you'd like to write, eg:
unittests: test individual functions/classes - you just need some way to mock/fake things. These tests will be hermetic. No talking to the internet, no talking to external or internal non-mock services.
integration: test adding some rows to a table, reading them, maybe calling some apis - no mocks, usually involves bringing up a test server or creating an in memory/sqlite db.
record replay: record an ideal api request/response and store it in file, on every change play the request back and check the response. This is a type of integration test. These are very useful in cross testing with the frontend (the record/replay files can be used to mock the backend)
...
not all types of tests might be useful to begin with.
Start with simple unittesting.
Is the django framework enough for this? maybe one of the other py test frameworks?
Choices here will tie into subsequent CI/CD efforts.
Ideally we'd be able to run at least the unittests in the CI stage, via the docker container.
Pick a test framework and write some tests.
Basically start with the types of tests you'd like to write, eg:
unittests: test individual functions/classes - you just need some way to mock/fake things. These tests will be hermetic. No talking to the internet, no talking to external or internal non-mock services.
integration: test adding some rows to a table, reading them, maybe calling some apis - no mocks, usually involves bringing up a test server or creating an in memory/sqlite db.
record replay: record an ideal api request/response and store it in file, on every change play the request back and check the response. This is a type of integration test. These are very useful in cross testing with the frontend (the record/replay files can be used to mock the backend) ...
not all types of tests might be useful to begin with.
Start with simple unittesting. Is the django framework enough for this? maybe one of the other py test frameworks? Choices here will tie into subsequent CI/CD efforts.
Ideally we'd be able to run at least the unittests in the CI stage, via the docker container.