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