Respawn 没有重置我的 SQL 服务器数据库
Respawn is not resetting my SQL Server database
我正在使用 Respawn 清理我的测试数据库,但是当此方法执行时:
public static Task ResetCheckpoint() => Checkpoint.Reset(ConfigurationManager.ConnectionStrings["TestConnection"].ConnectionString);
显示此错误消息:
Message: System.InvalidOperationException : Invalid operation. The connection is closed.
我已经检查过ConfigurationManager.ConnectionStrings["TestConnection"].ConnectionString
返回的值,是正确的。
我在此示例项目中的集成测试结构基于 Jimmy Bogard: https://github.com/jbogard/ContosoUniversityDotNetCore-Pages,更具体地说,这两个 类:
我已经弄明白了。问题是连接超时。我正在使用生产数据库的克隆作为测试数据库,并且有很多表有很多行,有些表有数百万个寄存器。所以我 运行 Respawn 在 SQL Server Management Studio 中手动生成的命令,花了 17 分钟才全部清除。现在,我将能够使用干净的数据库编写和 运行 我的测试,没有任何问题。
所以,这里的教训是:
- 在运行重生
Reset
之前清除一个大数据库,或者将Checkout
class的CommandTimeout
属性设置为更高值。
我认为 Respawn 可以 return 更好地说明 Reset
中出了什么问题,也许我会发送一个拉取请求来解决这个问题。
我正在使用 Respawn 清理我的测试数据库,但是当此方法执行时:
public static Task ResetCheckpoint() => Checkpoint.Reset(ConfigurationManager.ConnectionStrings["TestConnection"].ConnectionString);
显示此错误消息:
Message: System.InvalidOperationException : Invalid operation. The connection is closed.
我已经检查过ConfigurationManager.ConnectionStrings["TestConnection"].ConnectionString
返回的值,是正确的。
我在此示例项目中的集成测试结构基于 Jimmy Bogard: https://github.com/jbogard/ContosoUniversityDotNetCore-Pages,更具体地说,这两个 类:
我已经弄明白了。问题是连接超时。我正在使用生产数据库的克隆作为测试数据库,并且有很多表有很多行,有些表有数百万个寄存器。所以我 运行 Respawn 在 SQL Server Management Studio 中手动生成的命令,花了 17 分钟才全部清除。现在,我将能够使用干净的数据库编写和 运行 我的测试,没有任何问题。
所以,这里的教训是:
- 在运行重生
Reset
之前清除一个大数据库,或者将Checkout
class的CommandTimeout
属性设置为更高值。
我认为 Respawn 可以 return 更好地说明 Reset
中出了什么问题,也许我会发送一个拉取请求来解决这个问题。