Я не уверен, что мне здесь делать. Должен ли я жестко кодировать все значения в переменных CONST. Все, что я видел, похоже, жестко закодировало значения, поэтому я не уверен.
Как будто это то, что я делал сейчас.
Скажите, в моем контроллере у меня был проверочный тест, чтобы проверить, пытается ли пользователь отправить форму с пустым полем.
Теперь у меня будет оператор if, проверяющий пустую или нулевую переменную. Если это произойдет, я добавлю ошибку в ModelState с сообщением об ошибке, которое я написал.
поэтому в моем модульном тесте я хочу убедиться, что, если передана пустая переменная формы, она будет перехвачена.
теперь в моем модульном тестировании я просто сделал переменную CONST, скопировал и вставил сообщение проверки.
Итак, в моем утверждении я сравниваю реальное сообщение с сообщением, хранящимся в моем CONST Varrible. Я делаю это, вызывая состояние модели и вызываю поле, в котором, как я ожидаю, будет ошибка.
Как:
.
result.ViewData.ModelState [ "имя пользователя"] Ошибки [0];
Так что, если сообщение есть, значит, оно должно было войти в мой код, иначе оно не существовало бы.
Так что мне пришло в голову, может быть, мне следует создать новый класс, который будет статическим и содержать все эти переменные CONST.
Таким образом, как представления контроллера, так и модульные тесты могут использовать их. Таким образом, если мне нужно изменить сообщение об ошибке, мне нужно только изменить его в одном месте. Поскольку я не проверяю сообщение об ошибке, я проверяю, установлено ли оно.
То же самое относится и к исключениям. У меня есть несколько пользовательских сообщений, но я не проверяю, правильно ли это сообщение, и больше, если получено ожидание.
Хотя я проверяю его, чтобы увидеть, является ли сообщение ожидаемым, поскольку, если это не сообщение или сообщение не существует, значит, что-то пошло не так.
Я новичок в модульном тестировании, поэтому я хотел убедиться, что то, что я собираюсь сделать, не каким-то образом испортит мои модульные тесты.
Для меня это имеет смысл, но я подумал, что лучше сначала проверить.
Спасибо