首页 > 解决方案 > 如何在单元测试中设置 ValidateInlineMaps 来测试 AutoMapper 的映射

问题描述

我有以下测试,我想在关闭 ValidateInlineMaps 的同时测试 AutoMapping,但该设置似乎没有效果。我做错了吗?基本上我是这样做的:

'Mapper.Initialize(m => { m.ValidateInlineMaps = false; m.AddProfile(); });'

我希望我的测试能够通过“AssertConfigurationIsValid”,但事实并非如此。

完整的测试代码如下:

using AutoMapper;
using Domain.Database.Entities;
using Shared.DTO.v000;
using NUnit.Framework;
using Domain.Bootstrap.Profiles;

namespace Tests
{
    [TestFixture]
    public class ProfileMappersTest
    {
        [SetUp]
        public void Setup()
        {
        }


        [Test]
        public void AutoMapper_Configuration_IsValid()
        {
            Mapper.Initialize(m => { 
                m.ValidateInlineMaps = false;  
                m.AllowNullCollections = true; 
                m.AllowNullDestinationValues = true; 
                m.AddProfile<CustomerContactProfile>();  });
            Mapper.AssertConfigurationIsValid();

            MapperConfiguration configuration = new MapperConfiguration(cfg =>
              cfg.CreateMap<Customer, CustomerDTO>());

            configuration.AssertConfigurationIsValid();

        }
    }
}

标签: unit-testingautomapper

解决方案


推荐阅读