Написание хороших тестов — надежных, поддерживаемых и ценных — следует установленным лучшим практикам. Плохие тесты (хрупкие, медленные, непонятные) становятся обузой, в то время как хорошие тесты обеспечивают долгосрочную ценность. Понимание этих практик важно для эффективного тестирования.
Характеристики хороших тестов (FIRST)
FAST → run quickly (so they're run often)
INDEPENDENT/ISOLATED → don't depend on each other or order; each sets up its own state
REPEATABLE → same result every time, any environment (no flakiness)
SELF-VALIDATING → clear pass/fail (assertions, not manual inspection)
TIMELY → written with (or before) the code
