1

次のコントローラーアクションがあります

public ActionResult EditFocus(int id)
    {
        var Focus = focusService.GetFocus(id);
        Mapper.CreateMap<Focus, FocusFormModel>()
        FocusFormModel editFocus = Mapper.Map<Focus, FocusFormModel>(Focus);
        if (Focus == null)
        {
            return HttpNotFound();
        }
        return View("EditFocus", editFocus);

私はテストにNunitを使用しています。そしてテストは

 [Test]
public void Edit_Get_ReturnsView()
{


    FocusFormModel group = new FocusFormModel() { FocusId = 1, FocusName = "Test" };
    Mapper.CreateMap<Focus, FocusFormModel>().ForAllMembers(opt => opt.Ignore());
    Focus focusViewModel = Mapper.Map<Focus, FocusFormModel>(group);
    Mapper.AssertConfigurationIsValid();
    focusRepository.Setup(x => x.GetById(1)).Returns(focusViewModel);

    FocusController controller = new GroupController(focusService);
    ViewResult actual = controller.EditFocus(1) as ViewResult;
    Assert.IsNotNull(actual, "View Result is null");

}

しかし、テストは失敗します NUnit GUI では、次のエラーが表示されます。

Missing Mapping type Configuration& Unsupported Mapping
4

1 に答える 1

1

マッピングを 2 回作成しています。webtestsに対して一度だけ実行する必要があります。

web : おそらくプロファイルを使用して、アプリケーションの起動時に一度だけマップを作成します。

tests : 特定のテストの TestFixtureSetUp にマップを作成するか、存在する場合はベース Test クラスにマップを作成します。

于 2012-11-21T11:44:57.440 に答える