저는 독일 출신이고 직장에서는 오래된 Symfony2 버전 (2.1)을 사용합니다. "GermanDateExtension"이라는 나뭇 가지 필터를 작성했습니다.Symfony2 - 단위 테스트에서의 로케일
public function getGermanDateFilter($date, $format)
{
setlocale(LC_TIME, 'de_DE.utf8');
return strftime($format, $date);
}
로캘은 setlocale()을 통해 설정되며 서식이 지정된 날짜가 반환됩니다. 이 필터에 대한 단위 테스트도 작성했습니다.
public function testGermanDay()
{
$germanDate = new GermanDateExtension();
$result = $germanDate->getGermanDateFilter($this->testDate, '%A');
$this->assertEquals('Mittwoch', $result);
}
기본 로캘은 "de"(parameters.ini) 여야합니다. 코드가 내 웹 사이트에서 문제없이 작동하지만 테스트가 실패합니다.
여기에 문제가 있습니다 : 테스트를 실행하면 기본 로켈은 "en"이고 setlocale() 호출은 무시됩니다. 그래서 "Mittwoch"대신 영어 이름 "Wednesday"가 반환됩니다.
해결 방법에 대한 의견이 있으십니까?
미리 감사드립니다.