は、私はユニットテストを開発していますメソッドのコードで適切な設定と初期化を呼び出します。続いてテストメソッド 'X'が例外をスローしました:System.InvalidOperationException:マッパーが初期化されていません。ここで
public ActionResult ItemsListing()
{
var itemsList = itemsRepository.GetItems(true);
if (itemsList.Count() > 0)
{
var itemsListVMs = Mapper.Map<IEnumerable<Item>, IEnumerable<itemsListingViewModel>>(itemsList);
return View(itemsListVMs);
}
else
{
return RedirectToAction("Home");
}
}
は、マッピング構成ファイルからコードです:
public static class MappingConfig
{
public static void RegisterMaps()
{
Mapper.Initialize(config =>
{
config.CreateMap<Item, itemsListingViewModel>();
});
}
}
そしてI以下のようにGlobal.asax
のApplication_Start()
イベントでマッパーを初期化しています
MappingConfig.RegisterMaps();
がsであります私が実行しようとしているテストメソッドを実装する:
[TestMethod]
public void ItemsListing()
{
HomeController controller = new HomeController();
ViewResult result = controller.ItemsListing() as ViewResult;
Assert.IsNotNull(result);
}
私は単にアプリケーションを実行するとうまくいく。しかし、ユニットテストメソッドを実行しようとすると、前述のエラーメッセージが表示されます。誰も私がこの問題を乗り越えるのを助けることができますか?ありがとう!
どのテストフレームワークを使用していますか、MSTestですか? – LukeW
@ LukeW:はい、MSTestです。 – user1990
@ user1990、ユニットテストで 'MappingConfig.RegisterMaps();'を呼び出していますか? – Nkosi