0

我是单元测试项目的新手。我们目前正在使用 NUnit,因为我们等待 Resharper 许可证进来。

所以我正在为单元测试项目修改我们的数据库标准化。问题是之前的实现包含了一个 SQL 脚本文件,随着时间的推移,随着客户端请求的数据库架构发生变化,该文件最终变得过时。

我们使用Mite来保持数据库模式是最新的。所以我们需要做的是创建一个进程来复制包含所有模式文件的当前 db 文件夹,或者创建一个导航到脚本文件夹的方法,并在测试之前执行脚本文件。

  • 当前的想法
    1. 将 db scripts 文件夹从启动项目复制到其构建的测试文件夹中。
    2. 有一种方法可以从 Test 文件夹中引用 db 文件夹。

愿意接受除此之外的进一步建议。

当前实施:


我正在使用Microsoft.SqlServer.Management.Common&Microsoft.SqlServer.Management.Smo通过测试项目扩展 SQL Server 访问。

protected virtual void BeforeTest()
{
    ...
    using(var conn = (SqlConnection) CPLGlobal.GetConnection()) {
        conn.Open();

        var server = new Server(new ServerConnection(conn));

        //Check if Database Exists, if so Delete the database
        if(server.Databases.Contains("cplstore_int")) {
            server.KillDatabase("cplstore_int");
        }

        //Create the database and obtain reference to it for processing.
        server.Databases.Add(new Database(server , "cplstore_int"));
        var db = server.Databases["cplstore_int"];



    }

    ...
}
4

0 回答 0