Пожалуйста
- потому что он должн знать КОД модуля идеально. Каждого, на который пишет юнит
- он должен иметь возможность его прогонять, это не происходит на тестовом стенде во время работы системы
- он должен иметь доступ к этому коду. А может не иметь.
- он должен поправлять его в тот же момент, когда разработчик коммитит код. Код должен быть закоммичен вместе с юнит-тестом. В идеале - юнит-тесты должен быть написан до кода модуля, что непросто сделать, не зная что хочет разработать разработчик вместе с архитектурой системы
- это нерентабельно. Разработчику на свой код написать тест пять минут, новому человеку в этот код надо вникнуть. В чужой код.
2. Зачем прогонять не на тестовом стенде ? Всегда при тестировании всё тестируется на тестовом, а уже при выводе в продакшен можно и на тестовом