我有一个 Action
如下:
public PartialViewResult MyActionIWantToTest(string someParameter)
{
// ... A bunch of logic
return PartialView("ViewName", viewModel);
}
当我检查结果时,它有一些属性,但它们要么为 null,要么为空。
唯一有任何内容的属性是 ViewEngineCollection
,它不包含任何特定于我的方法的内容。
有没有人有一些测试 PartialViewResult
的示例代码?
最佳答案
假设您有一个看起来像这样的 Action
:
public PartialViewResult MyActionIWantToTest(string someParameter)
{
var viewModel = new MyPartialViewModel { SomeValue = someParameter };
return PartialView("MyPartialView", viewModel);
}
注意:MyPartialViewModel
是一个只有一个属性的简单类 - SomeValue
。
NUnit 示例可能如下所示:
[Test]
public void MyActionIWantToTestReturnsPartialViewResult()
{
// Arrange
const string myTestValue = "Some value";
var ctrl = new StringController();
// Act
var result = ctrl.MyActionIWantToTest(myTestValue);
// Assert
Assert.AreEqual("MyPartialView", result.ViewName);
Assert.IsInstanceOf<MyPartialViewModel>(result.ViewData.Model);
Assert.AreEqual(myTestValue, ((MyPartialViewModel)result.ViewData.Model).SomeValue);
}
关于c# - 如何对返回 PartialViewResult 的 MVC 操作进行单元测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4485685/