我有一个正在尝试进行单元测试的 MVC 控制器类。
具体的 ActionResult 是这样的
public ActionResult Create(Shipment newShipment)
{
do some stuff to create a shipmentID
...
return RedirectToAction("AddUnit",newShipment.ShipmentID);
}
我已经模拟了控制器上下文等,现在我想测试传递给 RedirectToAction 调用的 newShipment.ShipmentID 是我所期望的。
我有一个测试(在设置阶段有很多嘲笑)
[Test]
public void CreateSuccess()
{
//Arrange
var shipment = new Shipment();
shipment.Widgets = 2; //Make sure it a valid shipment otherwise
//Act
var result = controller.Create(shipment) as RedirectToRouteResult;
//Assert
Assert.IsNotNull(result);
Assert.AreEqual("AddUnits", result.RouteValues["action"]);
Assert.IsNull(result.RouteValues["controller"]);
...
现在我想找到一个 Assert 来检查我传递给 RedirectToAction 的 shippingID 是否正确。我如何检索它的值?
(我相信这段代码确实有效(即实际视图得到正确的shipmentID),但我想编写一个单元测试)。