在我的应用程序中,我有一个自定义模型绑定器,我将其设置为 global.asax 中的 DefaultBinder:
ModelBinders.Binders.DefaultBinder = new XLDataAnnotationsModelBinder();
在为控制器编写单元测试时,我需要确保控制器使用自定义模型绑定器,但我不知道该怎么做。
我的测试如下所示:
[Test]
public void Details_Post_Action_Fails_To_Change_Email_Address_With_Duplicate()
{
// Setup
var controller = new AccountController();
controller.SetFakeControllerContext();
var param = Customer.Load(30005);
param.EmailAddress = "foo@bar.com";
// Test
var result = controller.Details(param);
// Assert
Assert.IsTrue(result is ViewResult); // will be ViewResult if failed....
Assert.IsFalse(((ViewResult)result).ViewData.ModelState.IsValid);
}
通过这个单元测试,控制器最终使用了 DefaultModelBinder。我可以在这个测试中添加什么来确保控制器使用自定义模型绑定器?