【发布时间】:2012-03-02 09:13:09
【问题描述】:
我是 mvc 3 的新手,我正在做单元测试。我正在测试一种搜索操作方法。此方法返回一个包含某种类型的通用列表的操作方法。如何测试返回的模型数据是否属于该指定类型? 请帮忙。
【问题讨论】:
标签: asp.net asp.net-mvc-3 unit-testing
我是 mvc 3 的新手,我正在做单元测试。我正在测试一种搜索操作方法。此方法返回一个包含某种类型的通用列表的操作方法。如何测试返回的模型数据是否属于该指定类型? 请帮忙。
【问题讨论】:
标签: asp.net asp.net-mvc-3 unit-testing
在您的测试方法中,您在获得变量中的搜索结果后执行类型断言。这是 NUnit 的断言:
var searchResults = SearcherUnderTest.Search("TestKeyword");
Assert.IsInstanceOfType( Type expected, object searchResults );
【讨论】:
你的意思是你想在一个列表中测试 T 的类型吗?如果是这样,那么看看这个问题:How to get the type of T from a member of a generic class or method?
或者您在为某个动作编写单元测试时需要帮助吗?然后:How to unit test an ActionResult that returns a ContentResult?
用Nunit测试,测试搜索结果时通常是这样的:
[Test]
public void Search_ShouldReturnAListOfOrders()
{
var result = _controller.Search("searchParameter") as MyViewModel ;
Assert.That(result, Is.Not.Null);
Assert.That(result.SearchResults, Is.Not.Null);
Assert.That(result.SearchResults.Count, Is.GreaterThan(0));
}
【讨论】: