0
我通过临ASP.NET MVC 4通过Apress出版工作,并想了解测试控制器方法在单元中使用的语法。单元测试控制器的方法财产
给定一个控制器方法的一类SomeController
:
public ViewResult List(int someInt) {
ViewModel model = new ViewModel {
ModelObject = new ModelObject {
ObjectProperty = someInt;
}
}
return View(model);
}
单元测试看起来是这样的:
[test method]
Some_Test() {
//...some code here to set up a mock object named 'mock'
SomeController target = new SomeController(mock.Object);
//This next line is where the syntax is confusing me
int result = ((ViewModel)target.List(1).Model).ModelObject.ObjectProperty;
Assert.AreEqual(result, 1);
}
这几乎就像ViewResult.Model
是有被某种“投”作为输入ViewModel
什么的。我确信这个语法/技术有个名字,我想了解更多关于这里发生的事情。
int result = target.List(1).Model.ModelObject.ObjectProperty;
不工作才能够访问传递给视图的model
对象的属性:
就是因为像需要这种技术?
所以很清楚,我没有做很多对象类型转换(如我的noob关于这样一个基本构造的问题所证明的)。感谢DS的明确答案。它现在非常有意义。 – CBean 2013-03-27 12:45:45