Бывает так, что приходишь на проект, а тестов нет. Или тесты плохо работают, или пока ждёшь их завершения - успеваешь выпить чаю и написать ещё одну фичу, которую опять надо тестировать. Каюсь, таким разработчиком был и я. Как-то раз я написал тесты так, что перестал хотеть их запускать через месяц. Я считаю, так быть не должно. Поэтому расскажу, каким требованиям должны отвечать тесты, какие для этого есть инструменты и как повысить тестируемость вашего кода