【发布时间】:2017-12-14 16:29:09
【问题描述】:
我们正在使用 VSTS,并且在持续构建过程中运行的集成测试期间开始出现错误。我们使用 localdb 来再次运行测试,这是一个预定义的 mdb 文件,该文件被复制到单元测试项目的输出文件夹中。
我们正在使用 powershell 脚本来确保 localdb 正在执行。 IT 有一行:
SqlLocalDB.exe create "MSSQLLocalDB" -s
用于运行集成测试的连接字符串是这样动态构建的:
$"Data Source=(LocalDB)\\MSSQLLocalDB;AttachDbFilename={Path.GetDirectoryName(new Uri(Assembly.GetExecutingAssembly().CodeBase).AbsolutePath)}\\db.mdf;Integrated Security=True;MultipleActiveResultSets=True";
我们最近唯一改变的是我们已经开始针对 .NET 4.7.1 进行构建,但我认为这不会对这些问题产生任何影响...
关于我们为什么开始出现这些错误的任何线索?
【问题讨论】:
-
你是更新测试中的记录还是更新了mdb文件?你用私人代理吗?尝试在连接字符串(
Initial Catalog=xx)中指定数据库名称。另一方面,尝试执行ALTER DATABASE [dbName] SET READ_WRITE WITH NO_WAIT -
我刚刚运行了一个 CI 并开始面临同样的问题。我已经运行相同的构建很长时间了,并且没有对 localdb 数据库进行任何更改
-
这与我的情况非常相似:它工作了很长时间,然后就停止了。就我而言,我已经更新了框架版本,但这不应该有任何影响......我认为......
-
重现此问题的步骤是什么?可以分享 OneDrive 上的日志吗? (将system.debug变量设置为true,然后队列构建)你更新测试中的记录还是mdb文件已经更新?你用私人代理吗?尝试在连接字符串中指定数据库名称 (
Initial Catalog=xx)。另一方面,尝试执行ALTER DATABASE [dbName] SET READ_WRITE WITH NO_WAIT。 -
就我而言,我使用的是 NH,集成测试使用的是 PersistenceSpecification 对象(如果我没记错的话,它将插入然后加载数据以查看是否一切正常。 ..)
标签: continuous-integration azure-devops integration-testing localdb