【发布时间】:2024-01-21 22:06:01
【问题描述】:
回答:我没有清除我的 ConnectionPools。
解决的场景是:
设置:
- 检查本地实例上是否存在“TEMP_NUnit”数据库 (SQL Server 2005)
- 如果存在,请将其删除。
- 创建一个名为“TEMP_NUnit”的新空白数据库。
测试:
- 实例化“升级数据库”组件。
- 检查组件的基本属性是否正确默认。
- 将组件指向空白数据库并调用 .Upgrade()
- 检查升级是否确实有效
拆解:
SqlConnection.ClearAllPools();- 删除“TEMP_NUnit”数据库。
原始问题在首屏下方。
大家好
测试场景是:
设置:
- 检查本地实例上是否存在“TEMP_NUnit”数据库 (SQL Server 2005)
- 如果存在,请将其删除。
- 创建一个名为“TEMP_NUnit”的新空白数据库。
测试:
- 实例化“升级数据库”组件。
- 检查组件的基本属性是否正确默认。
- 将组件指向空白数据库并调用 .Upgrade()
- 检查升级是否确实有效
拆解:
- 删除“TEMP_NUnit”数据库。
在我进入 TearDown 阶段之前一切正常。我总是收到以下错误:
无法删除数据库“TEMP_NUnit”,因为它当前正在使用中。
这让我很困惑,因为我正在关闭(在 finally 语句中显式调用 conn.Close)并正确处理(通过 using 语句)我的所有 DbConnection 对象。到 TearDown 出现时,“TEMP_NUnit”数据库上应该没有任何东西在运行。
如果我关闭 NUnit 然后重新打开它,SetUp 的第 2 步总是先运行。
我不确定我在这里做错了什么。任何指向正确方向的指针都将不胜感激。
【问题讨论】:
标签: database connection nunit