VS
- моки это зло, по возможности нужно избегать их
- сайд эффекты выносить как можно дальше от основной логики (в дополнение к первому)
- тесты не должны даже поверхностно повторять функционал
- использовать подходы, такие как в jsverify
- изменение функционала не должно провоцировать равносильный фиксинг тестов
С учетом того, что в сети я нахожу много профанских статей о том, как писать юнит тесты, и на практике часто вижу тесты, которые пишутся "для галочки"
Что еще можете добавить?