在 Visual Studio 中进行远程单元测试

在 Visual Studio 中进行远程单元测试

作者:BlogUpdater |  时间:2023-02-07 |  浏览:1237 |  评论已关闭 条评论

远程C++单元测试使开发人员能够将 Visual Studio 2022 连接到远程 Windows 环境,以运行和调试C++桌面应用程序测试。

此功能对于将代码部署到不同 Windows 目标环境(如不同的 Windows 体系结构)的开发人员非常有用。使用此功能,可以将测试资源管理器连接到远程环境,直接从 Visual Studio 在目标计算机上运行测试。

那,如何设置远程单元测试?

准备目标环境
1. 请确认 Windows Projected File System 已启用。你可以通过在 PowerShell 中以管理员身份运行如下指令查看它是否已启用:
Enable-WindowsOptionalFeature -Online -FeatureName Client-ProjFS -NoRestart
如果 PowerShell 提示它未启用,则你需要重新启动环境。

2. 请确认 SSH 已经在目标环境中成功安装。你可以查看安装 OpenSSH 中的步骤,然后在 PowerShell 中以管理员身份运行以下命令来指令来启动 SSH 服务器:
Start-Service sshd

3. 请确认 .NET 5 或更高版本已成功安装到目标环境。

4. 请确认已安装对应的 Visual C++ Redistrubutable。

5. 如果需要调试单元测试,还需执行如下两个步骤:
> 在目标环境上安装 Remote tools SKU。
> 以管理员身份启动远程调试器,并确保 VS 用户具有连接权限。

在 Visual Studio 中准备 C++ 单元测试工程
1. 创建本机单元测试工程:

2. 可以在 [跨平台 > 连接管理器 > 工具 > 选项] 中添加或删除 SSH 连接。选择 [添加] 将允许你输入主机名、端口和所需的任何登录凭据。

3. 可以指定远程窗口环境,将 testenvironments.json 文件添加到解决方案的根目录,使用以下架构并将 ssh://user@hostname:22 替换为 SSH remoteUri。

远程连接加入到连接管理器后,当你在 testEnvironments.json 文件中键入信息时,Intellisense 将通过显示不同的可用连接来帮助你选择适当的连接。

使用 Test Explorer 运行和调试远程单元测试
1. 当前活动的测试环境是通过 [测试资源管理器] 工具栏中的下拉列表选择的。目前,一次只能有一个测试环境处于活动状态。

2. 选择环境后,将在新环境中发现并运行测试。

总结
单元测试是保证代码指令的强有力工具,Visual Studio 不仅通过 Test Explorer 支持本机标准单元测试,今天又增加了一个远程单元测试的功能,确实比较实用。
不过首先,你得有单元测试。
在拓扑梅尔智慧办公平台 (Topomel Box) 的开发中,我为每一个组件也编写了单元测试代码,在每日构建中也会将它执行一遍。
我个人的感觉是,有了单元测试,你会对自己的代码在目标平台上的运行比较有信心。

最后
Microsoft Visual C++团队的博客是我非常喜欢的博客之一,里面有很多关于Visual C++的知识和最新开发进展。大浪淘沙,如果你对Visual C++这门古老的技术还是那么感兴趣,则可以经常去他们那(或者我这)逛逛。
本文来自:《Remote Native Unit Test Support in Visual Studio》

最近我写了个东西
正如你们所知道的,拓扑梅尔智慧办公平台(Topomel Box)是一款绿色软件,主要面向经常使用电脑的朋友。它提供了各种提升办公效率的小功能,同时操作上尽可能地简单方便。
我想:你值得拥有。

标签:

评论已关闭。