Поскольку это модульный тест, конфигурация не инициализирована.Это не было бы действительно модульным тестом, если бы весь фреймворк был загружен по умолчанию.
Если вы полагаетесь на параметры конфигурации, а не устанавливаете их явно в своем тесте:
sfConfig::set('usps_username', 'my username');
С функциональными тестами этонемного отличается, поскольку целое приложение загружается, и вы можете легко получить доступ к вашей конфигурации.
Редактировать:
Если вы посмотрите на каталог кеша, вы увидите, что все конфигурации создаются в каталоге приложения (cache / frontend / test / config / config_app.yml.PHP).Если вы поместите его в основной config / app.yml, просто все приложения наследуют эти значения.Тем не менее, вам нужно запустить свой скрипт в контексте приложения, чтобы использовать их.
Другими словами: это должно быть возможно, но вам придется инициализировать соответствующую конфигурацию приложения вместо конфигурации проекта (поэтому frontendConfiguration вместо ProjectConfiguration в вашей начальной загрузке).
Тем не менее, я считаю хорошей практикой сохранять модульные тесты как можно более независимыми от приложения.