This is the definition of done for test cases written for a given piece of function unit.
use common/test-utils, Mockk, WireMock and other libraries/tools shared in our previous automation test workshops
cover happy/positive paths(boundary value analysis & equivalence partitioning)
cover exception/negative paths (boundary value analysis & equivalence partitioning)
cover corner cases (boundary value analysis & equivalence partitioning)
don’t duplicate existing cases of the same type
can be executed in all environments(local env, CI/CD pipeline, etc), meaning they are environment independent
reviewed by at least one peer, or paired with one peer
For component test
Must cover all endpoints
Must cover all Kafka listeners
Test cooperation of each layers(mainly cover happy business flow/path, nice to cover input(request body) validation)
Use local dependencies(test container, DB, Kafka and Stub servers)
Assertion on response status&body, database change and external service called