Я пытаюсь написать модульный тест для Action, модель которого использует аннотации данных для проверки членов. Я использую Moq в качестве моей насмешливой основы.
Когда я «жёстко кодирую» сообщение об ошибке [Требуется] для свойства, все отлично работает. Я в состоянии выполнить мой тест очень хорошо, и результаты теста ожидаются. Однако мне нужно иметь сообщения об ошибках из файла ресурсов. Поэтому вместо того, чтобы делать:
[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 с аннотациями данных, не говоря уже о аннотациях данных со строками ресурсов. Может кто-нибудь сказать, пожалуйста, что я делаю не так?