我正在尝试在 Team Foundation Service 上设置自动构建和测试,但我无法让测试连接到我的 Azure 数据库,因此我的测试一直失败。
构建进行得很好,但是导致站点连接到我的数据库的任何测试都失败了。我在 Azure 上设置了我的数据库并将其与我的 Azure 站点相关联。我为数据库配置了允许的 IP 地址以包括我的本地计算机,并将其设置为允许 Azure 服务连接。该站点在我的机器上本地运行,并且在发布到我的 Azure 网站时也可以运行,并且可以从两个地方连接到 Azure 数据库。
我正在使用 Team Foundation Service ( https://tfs.visualstudio.com/ ) 进行源代码控制,并在 Team Foundation Service 中设置了自动构建,并从这些构建持续部署到 Azure。该工作的所有其他方面都很好,源代码控制,在签入时开始构建,构建部署到我的 Azure 站点,但我的测试都没有通过。
错误信息:
在代码优先 EF 的项目中:
测试方法 MySite.Tests.Controllers.HomeControllerTest.Index 抛出异常:System.Data.SqlClient.SqlException:数据库“master”中的 CREATE DATABASE 权限被拒绝。
在具有数据库优先 EF 的项目中:
测试方法 tfstest4.Tests.Controllers.HomeControllerTest.Index 抛出异常:System.InvalidOperationException:在应用程序配置文件中找不到名为“TestDbContext”的连接字符串。
(请注意,连接字符串确实存在,并且它在本地和部署到 Azure 后都可以正常工作)
非常感谢有关在需要访问数据库的 Team Foundation Service 上运行单元测试的任何建议。