来自 Stack Exchange 的各位朋友。
我正在尝试测试我的自定义模型绑定器是否已添加到 ModelBinderProviders.BinderProviders 集合中。我决定通过 WebActivator 激活它,以避免弄乱 global.asax,一切正常,但测试:
我尝试使用 WebActivator.ActivationManager.Run() 方法,但我的东西没有加载。我的测试中有这样的东西:
[TestMethod]
public void TemplateModelBinderProvider_Should_Be_Registered_In_BinderProviders()
{
WebActivator.ActivationManager.Run();
IModelBinderProvider templateModelBinderProvider = ModelBinderProviders.BinderProviders.
Where(x => x is TemplateModelBinderProvider).
FirstOrDefault();
Assert.IsNotNull(templateModelBinderProvider);
}
这是我的 app_Start 课程:
[assembly: WebActivator.PreApplicationStartMethod(typeof(MVC.App_Start.MVCBindings), "Start")]
namespace MVC.App_Start
{
public static class MVCBindings
{
public static void Start()
{
ModelBinderProviders.BinderProviders.Add(new TemplateModelBinderProvider());
}
}
}