在MVC 4中进行NerdDinner单元测试 [英] NerdDinner unit testing in MVC 4

查看:64
本文介绍了在MVC 4中进行NerdDinner单元测试的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在mvc 4和以下特定代码中尝试了NerdDinner:



Assert.IsInstanceOfType(typeof(ViewResult),result);



i我收到错误

NUnit.Framework.Assert.IsInstanceOfType(System.Type,object)''已过时



由于这个单元测试失败并且抛出一个空例外



我已经尝试过互联网并且没有得到任何答案,请帮助



ohk这是我使用的测试用例....



I was trying the NerdDinner in mvc 4 and at the particular code below:

Assert.IsInstanceOfType(typeof(ViewResult),result);

i am getting an error
NUnit.Framework.Assert.IsInstanceOfType(System.Type, object)'' is obsolete

Because of this unit tests are failing and are throwing a Null Exception

i''ve tried the internet and have not got any answer, please help

ohk this isthe test case im using....

namespace NerdDinnerTests
{
    /// <summary>
    /// Summary description for DinnerControllerTest
    /// </summary>
    [TestFixture]
    public class DinnerControllerTest
    {
        List < dinner >  CreateTestDinner()
        {
            List< dinner> dinners = new List<dinner>();
            for (int i = 0; i < 101; i++)
            {
                Dinner sampleDinner = new Dinner()
                {
                    DinnerID = i,
                    Title = "New Title",
                    EventDate = DateTime.Now,
                    Description = "Something",
                    HostedBy = "SomeUser",
                    ContactPhone = "0120-2533244",
                    Address = "Somewhere",
                    Country = "India",
                    Latitude = 93,
                    Longitude = -92
                };
                dinners.Add(sampleDinner);
            }
            return dinners; 
        }

        DinnerController CreateDinnerController()
        {
            var repository = new NerdDinnerTests.Fake.FakeDinnerRepository(CreateTestDinner());
            return new DinnerController(repository);
        }

        DinnerController CreateDinnerControllerAs(string userName)
        {
            var mock = new Mock<controllercontext>();
            mock.SetupGet(p => p.HttpContext.User.Identity.Name).Returns(userName);
            mock.SetupGet(p => p.HttpContext.Request.IsAuthenticated).Returns(true);
            var controller = CreateDinnerController();
            controller.ControllerContext = mock.Object;
            return controller;
        }

        [Test]
        public void DetailAction_Should_Return_Detailed_View_For_ExistingDinner()
        {
            //Arrange
            var controller = CreateDinnerController();
            //Act
            var result = controller.Details(1) as ViewResult;

            //Assert
            Assert.IsInstanceOf <Viewresult>(result);
        }
}



我一直在使用Nunit2.6.2和VWD 2010 Express


And i''ve been using Nunit2.6.2 with VWD 2010 Express

推荐答案

这个方法被宣布为过时,因为在早在.NET v.2.0中引入泛型之后,根据类型的非泛型方法根本没有意义,它们在通用方法旁边太糟糕了。



从NUnit 2.5开始,提供了通用的等价物: IsInstanceOf< T> IsNotInstanceOf< T> IsAssignableFrom< T> IsNotAssignableFrom< T>

http://www.nunit.org/index.php? p = typeAsserts& r = 2.5.1 [ ^ ]。



所以,使用它们,不要使用过时的。



-SA
This method is declared obsolete, because, after introduction of generics as early as of .NET v.2.0, non-generic methods depending on types simply make no sense, they are just too bad next to generic ones.

Beginning with NUnit 2.5, generic equivalents are available: IsInstanceOf<T>, IsNotInstanceOf<T>, IsAssignableFrom<T> and IsNotAssignableFrom<T>:
http://www.nunit.org/index.php?p=typeAsserts&r=2.5.1[^].

So, use them, don''t use the obsolete.

—SA


这篇关于在MVC 4中进行NerdDinner单元测试的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆