先说一下背景故事,有一天我刚启动虚拟机,却无法运行测试。我们之前已经设置好了运行测试,一切正常。
我们目前的设置是,我在主机上运行本地实例 SQL Server DB,并通过 VM 和 NUnit 运行 selenium 架构师项目。我们使用 Visual Studio 作为 IDE 和 C# 编程语言。
现在,当我使用 NUnit GUI Runner 启动测试时,浏览器会打开,并且测试立即失败,提示
ActivitySummaryReportTestFixture.GenerateActivitySummaryReport_EvalPosted_TotalVisitsEqualOne:
SetUp : System.Data.SqlClient.SqlException : A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server)
----> System.ComponentModel.Win32Exception : The network path was not found
通过一些故障排除我尝试从虚拟机 ping 主机服务器,但它说找不到。所以此时我不得不假设我的虚拟机和主机无法相互通信。如果有人可以提供帮助或需要更多信息,请告诉我,谢谢。
如果有人问我是否正在运行 Windows10 Pro 并使用 Hyper-V
答案1
Hyper-V VM 和主机彼此之间是完全独立的机器。调试时,任何两台机器都无法通过网络相互通信。
该错误表明您正在尝试连接到 SQL 实例。请确保 SQL Server 已配置为允许远程连接。
- 打开 SQL Server Management Studio
- 连接到 SQL Server 实例
- 右键单击对象资源管理器中的实例并选择属性
- 选择连接
- 勾选“允许远程连接”
还要确保防火墙上的端口 1433 已打开,因为这是 SQL Server 使用的默认端口。