在MVC 4中进行NerdDinner单元测试 [英] NerdDinner unit testing in MVC 4
问题描述
我在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>
andIsNotAssignableFrom<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屋!