Как я могу издеваться над TryValidateModel - PullRequest
0 голосов
/ 15 апреля 2019

Мне нужно смоделировать TryValidateModel, потому что теперь, если я запускаю модульный тест, TryValidateModel возвращает мне ноль.с большим количеством исключений.

Я знаю ModelState.IsValid - это хороший способ проверить, есть ли у нас правильная модель, но я не могу использовать ее здесь.

if (TryValidateModel(object))

Я бы хотелуправлять возвратом этого метода.

1 Ответ

0 голосов
/ 15 апреля 2019

Вы должны будете посмеяться над ControllerContext контроллера, который вы тестируете ...

Это, однако, является нарушением того, что обычно должен выполнять модульный тест, что вы на самом деле пытаетесь проверить здесь? Вам не нужно тестировать код ASP.Net, который выполняет проверку, у него уже есть тесты. Все, чего вы бы достигли, - это утверждать, что ваша модель имеет определенные атрибуты, что на самом деле не является поведением и не нуждается в проверке как таковой.

Вся ваша пользовательская логика должна находиться за пределами контроллера, в каком-то доменном классе, который вы бы вместо этого протестировали ...

Вы можете выполнить интеграционный тест, в котором вы создадите экземпляр всего контроллера и передадите ему модель

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...