Я пытаюсь написать модульный тест для модели Action, которая использует аннотации данных для проверки членов. Я использую Moq в качестве своей насмешливой структуры.
Когда я «жестко кодирую» сообщение об ошибке [Required] для свойства, все работает отлично. Я могу запустить свой тест просто отлично, и результаты теста ожидаются. Однако мне нужно, чтобы сообщения об ошибках исходили из файла ресурсов. Итак, вместо того, чтобы делать:
[Required(ErrorMessage = "First Name is required")]
public string FirstName
{
get;
set;
}
Мне нужно сделать это вместо этого:
[Required(ErrorMessageResourceName = "Account_FirstNameRequired", ErrorMessageResourceType = typeof(Resources.ModelValidationErrors))]
public string FirstName
{
get;
set;
}
Когда я использую строку на основе ресурсов, она работает нормально. Однако, когда я пытаюсь запустить свой тест, я получаю следующую ошибку:
Метод тестирования MyProject.Tests.Controllers.AdminAccountsTest.AdminAccounts_Create_Calls_Save вызвал исключение: System.Reflection.TargetInvocationException: Исключение было создано целью вызова. ---> System.IO.FileNotFoundException: не удалось загрузить файл или сборку «App_GlobalResources» или одну из ее зависимостей. Системе не удается найти указанный файл.WRN: ведение журнала привязки сборки отключено. Чтобы включить ведение журнала сбоев привязки сборки, задайте для параметра реестра [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) значение 1. Примечание. С ведением журнала сбоев привязки сборки связано некоторое снижение производительности. Чтобы отключить эту функцию, удалите параметр реестра [HKLM\Software\Microsoft\Fusion!EnableLog].
По общему признанию, я новичок в использовании Moq. Я искал, и мне не очень повезло найти какие-либо примеры Moq с аннотациями данных, не говоря уже об аннотациях данных со строками ресурсов. Может кто-нибудь, пожалуйста, скажите мне, что я делаю неправильно?