我是Unit Test项目的新手。我们正在等待Resharper许可证进入时使用NUnit。
所以我正在修改单元测试项目的数据库标准化。问题是,之前的实现包含了一个SQL脚本文件,随着时间的推移,随着数据库架构随客户端请求的变化而变得过时。
我们正在使用Mite来使数据库架构保持最新。因此,我们需要做的是创建一个复制包含所有模式文件的当前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"];
}
...
}