Продакшен код работает с автомаппером, есть цель протестировать работу автомаппера. Имеется в виду : протестировать правильность маппинга тех или иных сущностей.
Вот что написал я:
[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>() { RolesEnum.User, RolesEnum.Moderator }
};
// act
var dalUser = mapper.Map<DalUser>(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());
}
Как по мне - это не особо верный подход написания тестов для автомаппера, т.к. я создаю сущность вручную после делаю маппинг и сравниваю. Знаю, что у автомаппера есть возможность автоматически генерить фейк и проверить смапилось ли корректно или нет. Вопрос в том, как сделать то ,что я сделал вручную, автоматически?
AutoMapper
тестировать не надо. Для этого у него есть
Mapper.Configuration.AssertConfigurationIsValid();
http://docs.automapper.org/en/stable/Configuration-validation.html
Если у вас есть сложная функция конвертации, которую вы вызываете при маппинге, то тестируйте конкретно эту функцию.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Получаю файл текстовый файл в кодировке 866, необходимо вывести текст файла в richtextbox