StackExchangeの親愛なる仲間。
カスタムモデルバインダーがModelBinderProviders.BinderProvidersコレクションに追加されているかどうかをテストしようとしています。global.asaxを混乱させないように、WebActivatorを介してこれをアクティブ化することにしました。すべて正常に動作しますが、テスト:
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());
}
}
}