我已经尝试测试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;";