我是否必须为PostgreSQL测试Moq Database和输入Setup?

时间:2019-04-22 08:36:10

标签: c# postgresql nunit moq

我已经尝试测试PostgreSQL [PostgreSQL是否可以正常工作?]。当我们必须进行单元测试时,我已经阅读了一些有关Moq的内容。所以我有3个问题。

1当我们安排[AAA模式]时,是否需要在测试SQL执行之前先对配置数据库进行moq和输入?

2基于第一个问题。如果需要最小起订量,那么如果我像这样正常设置,会有什么不同

            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;";

0 个答案:

没有答案