#c_sharp #net_core #automapper
Продакшен код работает с автомаппером, есть цель протестировать работу автомаппера. Имеется в виду : протестировать правильность маппинга тех или иных сущностей. Вот что написал я: [Test] public void MapFromUserToDalUser() { // arrange var user = new User() { Id = 1, Email = "kek@cheburek.ru", Name = "Birsultan Nazarbaev", Phone = "233-655-900", SsoId = "myuniquessoid", ContactDetails = "shieee", Roles = new List() { RolesEnum.User, RolesEnum.Moderator } }; // act var dalUser = mapper.Map (user); // assert Assert.AreEqual(user.Id, dalUser.Id); Assert.AreEqual(user.Name, dalUser.Name); Assert.AreEqual(user.Phone, dalUser.Phone); Assert.AreEqual(user.SsoId, dalUser.SsoId); Assert.AreEqual(user.Email, dalUser.Email); Assert.AreEqual(user.ContactDetails, dalUser.ContactDetails); Assert.AreEqual( user.Roles.Select(x => (int)x).OrderBy(x => x).ToList(), dalUser.DalUserDalRoles.Select(x => x.DalRoleId).OrderBy(x => x).ToList()); } Как по мне - это не особо верный подход написания тестов для автомаппера, т.к. я создаю сущность вручную после делаю маппинг и сравниваю. Знаю, что у автомаппера есть возможность автоматически генерить фейк и проверить смапилось ли корректно или нет. Вопрос в том, как сделать то ,что я сделал вручную, автоматически?
Ответы
Ответ 1
AutoMapper тестировать не надо. Для этого у него есть Mapper.Configuration.AssertConfigurationIsValid(); http://docs.automapper.org/en/stable/Configuration-validation.html Если у вас есть сложная функция конвертации, которую вы вызываете при маппинге, то тестируйте конкретно эту функцию.
Комментариев нет:
Отправить комментарий