#asp.net-mvc #nunit
#asp.net-mvc #nunit
Вопрос:
Выполнение простого теста для проверки имени представления для действия контроллера:
var controller = new UserController();
var result = controller.Login() as ViewResu<
Assert.AreEqual("Login", result.ViewName);
Результат.ViewName возвращается с «», почему это должно быть?
Ответ №1:
Вы указываете имя представления в методе входа контроллера или оставляете его значением по умолчанию (которое равно «»)?
Если вы оставляете его со значением по умолчанию, которое является обычным, вам нужно проверить строку.Пустое вместо «Войти».
Комментарии:
1. Да, значение по умолчанию, о, я вижу, поэтому оно разрешает имя дальше по стеку, тогда ок, спасибо.
2. ДА. И извините, я забыл упомянуть об этом. Замена не выполняется до тех пор, пока не будет отображено представление, которое будет позже в потоке обработки.
Ответ №2:
если у вас есть такой вид
public ActionResult Index()
{
return View();
}
тогда свойство ViewName примет значение по умолчанию, равное «», и если вы укажете имя представления таким образом, оно будет работать нормально
public ActionResult Index()
{
return View("Index");
}