Все още не е удобно с всички изброени номера. Опитвам се да направя това:
Assert.IsTrue(actionResult.ViewData.ModelState.IsValid, null, Enumerable.ToArray<object>(actionResult.ViewData.ModelState as IEnumerable<object>));
Това е mbUnit твърдение със следния подпис.
public static void IsTrue(bool actualValue, string messageFormat, params object[] messageArgs);
Третите параметри причиняват (в превод на английски)
Система.ArgumentNullException: Стойността не може да бъде нулева. Име на параметър: източник в System.Linq.Enumerable.ToArray [TSource] (IEnumerable`1 source) в Coin.UnitTests.AccountControllerTests.MyTest () в Г: ... ТестовеMbUnitTestsControllerTests.cs: ред 85
в Галио. Как го правиш?
Btw, някой знае ли как да получи тези съобщения на английски? Vista е на шведски.
Отговори:
2 за отговор № 1ModelState
не изпълнява IEnumerable<T>
така актьорският състав се оказва нищожен и Enumerable.ToArray()
не харесва нули, следователно изключение.
Опитайте нещо подобно:
var errors = actionResult.ViewData.ModelState.Errors.Select(e => e.ErrorMessage).ToArray();
Assert.IsTrue(actionResult.ViewData.ModelState.IsValid, string.Join("n", errors));