Нужно ли использовать moq для базы данных и ввода настроек для тестирования PostgreSQL? - PullRequest
1 голос
/ 22 апреля 2019

Я попытался проверить 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;";

...