1

У меня есть приложение MVC, которое я установил для глобализации в web.config. Все хорошо в веб-приложении. Но в моем проекте тестов я получаю проблему в своем сервисе. Я прошу дату рождения в следующем формате dd/MM/yyyy. Я передаю это как строку для моего уровня сервиса. У меня есть RegEx, чтобы проверить, что он отформатирован правильно, но когда он есть, и я пытаюсь преобразовать его в дату, я получаю сообщение об ошибке. Это связано с тем, что для параметра CultureInfo установлено значение en.US, я хочу, чтобы оно было en.GB. Я пытался в одном из моих методов испытаний Initialise сделать следующее, но безрезультатно:Настройка CultureInfo in Tests project?

string sCulture = ConfigurationSettings.AppSettings["CultureToUse"]; //returns "en.GB" 
     System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo(sCulture); 
     CultureInfo.CreateSpecificCulture(sCulture); 

Любые идеи, как установить CultureInfo в моем проекте тестов?

ответ

1

Поскольку вы ввели формат, в котором находятся данные, и он является числовым, вы не должны полагаться на пользовательский параметр и лучше использовать DateTime.ParseExact (dateString, «dd/MM/yyyy», CultureInfo .InvariantCulture).

Свойство CurrentUICulture контролирует ресурсы, загружаемые для приложения. CurrentCulture - это то, что вы хотите установить/получить для управления разбором/форматированием.

+0

Сделал работу, спасибо! – lloydphillips

1
ConfigurationSettings.AppSettings["CultureToUse"] 

Необходимо вернуть «en-GB» не «en.GB», надеюсь, это поможет!

+0

да, это уже делает, извините была опечатка. – lloydphillips

Смежные вопросы