Hi everyone,

Since we run our tests using pytest we are able to use test markers [1].
Using them will give
use some useful things:
- additional information of test type (ex. when used for system test)
- easy way to select test by types (ex. pytest -v -m "not system")
- way to split our test suite in more effective way (no need to run all
tests on 3 backends)

I would like to discuss what "official" marks would we like to use. As a
base I would suggests
to mark tests as:
- system - tests that need the outside world to be successful (ex. GCP
system tests)
- db[postgres, sqlite, mysql] - tests that require database to be
successful, in other words,
tests that create some db side effects
- integration - tests that requires some additional resources like
Cassandra or Kubernetes

All other, unmarked tests would be treated as "pure" meaning that they have
no side effects
(at least on database level).

What do you think about this? Does anyone have some experience with using
markers in
such a big project?

[1] http://doc.pytest.org/en/latest/example/markers.html


Bests,
Tomek Urbaszek

Reply via email to