Только начал изучать и писать модульное тестирование день назад, так что это, вероятно, слишком простой вопрос:
У меня есть этот метод в моем классе DBTaskHanlder
, для которого я хочу создать какой-то модуль, я смог написать его, когда ModelState недействителен, но теперь для следующего:
public bool CreateTask(ForgotPasswordViewModel fpModel)
{
if (!ModelState.IsValid)
{
return false;
}
try
{
CreateTaskFromModel(fpModel);
_dbContext.SaveChanges();
return true;
}
catch (Exception e)
{
var issue = e.ToString();
throw;
}
}
Этот CreateTaskFromModel
метод private
, и его задача - создать новую строку в базе данных в таблице. Итак, я хотел проверить, когда вызывается этот метод, создается ли одна новая строка в БД? Правильно ли это тестировать? Как протестировать? Я не думаю, что мы должны ударить и вставить в настоящую базу данных, верно?
private void CreateTaskFromModel(ForgotPasswordViewModel fpModel)
{
var message = _dbContext.Create<Message>();
message.MessageType = "TASK".PadLeft(10);
message.Assigned_User_K = fpModel.SendPasswordRequestTo.Trim();
message.Assigned_Date = DateTime.Today;
message.Source_User_K = string.Empty;
message.Target_File_K = "WEBCFGPHRM";
message.Owner_User_K = string.Empty;
message.Message_K = _keyGenerator.Get10ByteBase36Key();
_dbContext.Messages.Add(message);
}