Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > NUnit Asser.IsInstanceOf<> failed


Автор: Nickname 1.7.2010, 13:53
Пытаюсь провести тест веб приложения
MVC 2
NUnit 2.5.4
В тесте использую строку кода для проверки на принадлежность объекта results типу ViewResult
Код

        [Test]
        public void Register_Can_Get_To_Register_View()
        {
            var ac = new AccountController();
            var results = ac.Register();        
            Assert.IsNotNull(results);
            Assert.IsInstanceOf<ViewResult>(results);            
        }

, где объект results возвращается из метода контрола
Код

         public ActionResult Register()
        {
            ...
            return View();
        }

Тест красный - выдает ошибку
Цитата

TDDBookTest.AccountTests.AccountControllerTest.Register_Can_Get_To_Register_View:
  Expected: instance of <System.Web.Mvc.ViewResult>
  But was:  <System.Web.Mvc.ViewResult>

И даже если заменить строку 
Код

Assert.IsInstanceOf<ViewResult>(results); 

на строку 
Код

Assert.AreEqual(typeof(ViewResult), results.GetType());

то все равно ошибка 
Цитата

TDDBookTest.AccountTests.AccountControllerTest.Register_Can_Get_To_Register_View:
  Expected: <System.Web.Mvc.ViewResult>
  But was:  <System.Web.Mvc.ViewResult>

Автор: Nickname 1.7.2010, 14:09
Пока нашел такое решение
Код

Assert.AreEqual(typeof(ViewResult).ToString(), results.GetType().ToString());

ну хотелось бы покороче и с использованием IsInstanceOf<T>

Автор: Nickname 1.7.2010, 14:51
Ошибка была в следующем - проект с тестами имел референс на MVC 2, а тестируемый проект на MVC 1.
Поправил - код заработал

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)