AutoMapper 구성 런타임 오류를 방지하는 방법

AutoMapper으로 작업할 때 다음과 같은 잘못된 매핑 구성으로 인해 런타임 오류가 자주 발생합니다.

AutoMapper.AutoMapperMappingException: Missing type map configuration or unsupported mapping.



응용 프로그램을 실행하기 전에 이러한 오류를 잡을 수 있다면 좋지 않을까요?

AutoMapper는 실제로 단위 테스트 파이프라인에 추가할 수 있는 어설션을 제공하고 런타임 오류가 발생하지 않도록 합니다.

단위 테스트 프로젝트를 만드는 방법을 모르는 경우 다음 문서의 단계를 따르십시오. Getting Started with xUnit.net.

xUnit 사용




public class MappingTests
{
    private readonly IConfigurationProvider _configuration;
    private readonly IMapper _mapper;

    public MappingTests()
    {
        _configuration = new MapperConfiguration(config => 
            config.AddProfile<MappingProfile>());

        _mapper = _configuration.CreateMapper();
    }

    [Fact]
    public void ShouldHaveValidConfiguration()
    {
        _configuration.AssertConfigurationIsValid();
    }
}


NUnit 사용




public class MappingTests
{
    private readonly IConfigurationProvider _configuration;
    private readonly IMapper _mapper;

    public MappingTests()
    {
        _configuration = new MapperConfiguration(config => 
            config.AddProfile<MappingProfile>());

        _mapper = _configuration.CreateMapper();
    }

    [Test]
    public void ShouldHaveValidConfiguration()
    {
        _configuration.AssertConfigurationIsValid();
    }
}


NUnit 예제는 Jason Taylor가 제공한 Clean Architecture Template 에서 가져왔습니다.

공식AutoMapper Configuration Validation documentation도 확인해주세요 .

좋은 웹페이지 즐겨찾기