【问题标题】:TeamCity Database Integration TestsTeamCity 数据库集成测试
【发布时间】:2017-07-18 15:07:05
【问题描述】:

我正在设置一个 TeamCity 构建来运行一些与数据库相关的 Nunit 测试。这些测试需要 Sql 服务器连接才能运行。 我正在尝试将这样的连接字符串作为测试参数传递。

我创建了一个名为

的构建变量

Database_Connection_String 我已将其设置为

Data Source=ANDROID-PC\SQLEXPRESS;Initial Catalog=TestDb;;User ID=TestDbAdmin;Password=***********

此外,我已通过以下方式将测试参数传递给 Nunit3-console.exe:

--params=TestDatabaseConnectionString=%Database_Connection_String%

运行构建后,我看到以下错误:

[My_TEST_NAME] OneTimeSetUp: System.Data.SqlClient.SqlException : 网络相关 或在建立连接时发生特定于实例的错误 SQL 服务器。服务器未找到或无法访问。核实 实例名称正确且 SQL Server 配置为 允许远程连接。 (提供者:SQL 网络接口,错误: 26 - 定位服务器/指定实例时出错)

Sql 服务器正在运行,我可以在同一台机器上使用我的应用程序中的相同连接字符串连接到它。只是 Nunit 测试没有拾取连接字符串。

我曾尝试用双引号和单引号封装连接字符串,但这也不起作用。

有没有办法将连接字符串作为测试参数传递给 Nunit 测试?

【问题讨论】:

    标签: nunit teamcity


    【解决方案1】:

    目前,无法使用--params 选项传入包含分号的参数。希望能及时解决这个问题。

    查看 GitHub 问题:https://github.com/nunit/nunit-console/issues/23

    【讨论】:

    • 感谢您的回复,克里斯。我们更改了配置参数,并将数据库连接字符串划分为单独的参数,如 DataSource、InitialCatalog、Password 和 UserID。然后传递所有这 4 个参数。还在数据库集成测试中进行了必要的更改,但仍然收到相同的错误消息。
    • 但它仍然给出同样的错误信息。我们在另一台 TeamCity 服务器上尝试了该解决方案,它似乎工作正常。我的意思是,它至少能够与数据库连接。但是,由于权限问题,它无法创建数据库。我们提供了所有必需的权限,并尝试使用系统管理员 ID 和密码,但仍然存在权限问题。
    猜你喜欢
    • 2010-09-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多