Если тестовый код не является частью продукта, его не должно быть в базе кода продукта. Я видел проекты, которые пытались включить модульные тесты в тот же проект, что и тестируемые объекты, и использовали операторы #if
для включения их только в отладочные сборки, чтобы потом сожалеть об этом.
Одна очевидная проблема заключается в том, что проект приложения получает ссылку на среду модульного тестирования. Даже если вам не требуется поставлять эту платформу как часть вашего продукта (если вы можете гарантировать, что ни один код в сборке выпуска не будет ссылаться на него), она все равно пахнет немного странно.
Пусть тестовый код будет тестовым кодом, а рабочий код - рабочим кодом, , и пусть рабочий код не будет иметь никакого представления об этом .