如何使用 SQL 单元测试项目清理数据库
How to clean up database using SQL Unit Test Project
我已经使用内置的 Visual Studio 测试项目创建了 SQL 单元测试项目。我能够使用预测试、测试和 Post-测试条件为所有场景创建测试用例。此外,我能够使用 DACPAC 在 运行 时间内创建数据库。
到目前为止一切都很好。我面临的问题是,我无法删除所有测试用例的数据库 post 执行。我尝试了以下未能删除数据库的方法:
*1。在最后一个测试用例的 finally 块中强制删除数据库的自定义脚本
- 对测试用例进行排序,在最后一个测试用例的Post-测试脚本中,添加了drop脚本*
有什么方法可以实现吗?
简而言之,我只需要 - 在最后一个测试用例的测试执行结束时删除数据库。
你能帮我解决这个问题,或者给我指明正确的方向吗?
谢谢
使用 [AssemblyCleanup] 属性删除数据库 post 您的测试执行。这些将在每个程序集执行一次。通过这种方式,我能够删除在单元测试期间创建的数据库。
[AssemblyCleanup]
public static void MyCleanUp()
{
//Your clean-up code
// Read the connection from config file
//Drop the database
}
我已经使用内置的 Visual Studio 测试项目创建了 SQL 单元测试项目。我能够使用预测试、测试和 Post-测试条件为所有场景创建测试用例。此外,我能够使用 DACPAC 在 运行 时间内创建数据库。
到目前为止一切都很好。我面临的问题是,我无法删除所有测试用例的数据库 post 执行。我尝试了以下未能删除数据库的方法:
*1。在最后一个测试用例的 finally 块中强制删除数据库的自定义脚本
- 对测试用例进行排序,在最后一个测试用例的Post-测试脚本中,添加了drop脚本*
有什么方法可以实现吗?
简而言之,我只需要 - 在最后一个测试用例的测试执行结束时删除数据库。
你能帮我解决这个问题,或者给我指明正确的方向吗?
谢谢
使用 [AssemblyCleanup] 属性删除数据库 post 您的测试执行。这些将在每个程序集执行一次。通过这种方式,我能够删除在单元测试期间创建的数据库。
[AssemblyCleanup]
public static void MyCleanUp()
{
//Your clean-up code
// Read the connection from config file
//Drop the database
}