Я попытался проверить PostgreSQL [Работает ли PostgreSQL должным образом?].Я прочитал немного о Moq, когда мы должны провести модульное тестирование.Итак, у меня есть 3 вопроса.
1 Когда мы выполняем Arrange [AAA pattern] Должны ли мы проверять базу данных конфигурации и ввод данных перед тестированием выполнения SQL?
2 Основано на первом вопросе.Если это требуется для moq, то что отличается, если я просто настроил как обычно
DumpDatabase databaseSetting = new DumpDatabase();
databaseSetting.Host = "***.***.*.*.*";
databaseSetting.Port = "****";
databaseSetting.Database = "*****";
databaseSetting.UserName = "****";
databaseSetting.Password = **********";
вместо
var mockdb = new Mock<DumpDatabase>();
mockdb.Setup(x => x.dumpDatabase).Returns(
new DumpDatabase()
{
Host = "***.***.*.*.*",
Port = "****",
Database = "*******",
UserName = "*****",
Password = "***********"
}
);
3 Если запрос был пройден, мне нужно откатить оригиналв каждом отдельном тесте правильно?
Например,
string query = "INSERT INTO pictures (id, created, width, height, device_id, user_id, modified, checksum, file_path, file_extension, file_size, mime_type, thumbnail, title, classification, description)" +
" VALUES (@p1, @p2, @p3, @p4, @p5, @p6, @p7, @p8, @p9, @p10, @p11, @p12::mime, @p13, @p14, @p15::classification, @p16); ";
, тогда мне нужно откатить оригинал после подтверждения [шаблон AAA], выполнив это
string sqlDelete = "DELETE FROM public.pictures WHERE id = @p1;";