VSCode:远程测试资源管理器实际上并不执行测试(Python)

问题描述 投票:0回答:1

通过 SSH 连接到远程计算机时,我无法使用 VSCode 中的测试资源管理器运行测试。 VSCode 成功发现测试。但是,当我尝试运行它们时,VSCode 报告它们已运行,但实际上并未执行任何操作。 为了说明这一点,我按照 VSCode 的“官方说明”在远程计算机上设置了一个目录,以便使用 pytest 进行 Python 测试。配置测试资源管理器后,侧边栏如下所示:

到目前为止,一切都很好。

但是当我尝试运行任何测试时,有趣的事情发生了。 VSCode 报告测试已运行,但显然没有执行任何操作。我没有得到预期的测试的排水沟装饰,而应该失败的测试却没有得到。 (此外,当我设置一个需要几秒钟执行的测试时,它仍然会在几毫秒内“执行”。)这是我的测试输出托盘的样子:

我还注意到,当我右键单击测试资源管理器中的测试并选择“转到测试”时,它实际上会打开一个包含测试的不同文件,即使包含测试的文件已经打开(请参阅两个不同的文件)下图中打开的同名文件实际上是完全相同的文件,但一个具有相对路径,另一个具有绝对路径)。这个新的第二个文件具有装订线装饰,但单击它们会执行与之前相同的操作(VSCode 报告已执行的测试,但没有结果)。

我怀疑这个问题与我的工作区配置有关,因为当我单击“转到测试”时 VSCode 不“知道”文件已经打开。另一件让我认为这是工作区问题的事情是,您可以在上面的屏幕截图中看到有关 VSCode 无法监视这个大型工作区中的更改的警告。当前打开的文件夹中只有两个文件,因此我猜测 VSCode 认为我的工作空间大于当前打开的文件夹(实际上,每当我在 VSCode 中打开此远程计算机上的任何文件夹时,都会出现此警告)。

visual-studio-code vscode-remote
1个回答
0
投票
使用绝对路径重新打开文件夹,并确保路径中没有符号链接。

事实证明这是符号链接的问题。我打开的文件夹的路径是

~/src/test

。在远程计算机上,

~
解析为
/home/<username>
,这实际上是
/local/home/<username>
的符号链接。显然 VSCode 不遵循符号链接,有时
这会导致问题
。修复方法只是在绝对的非符号链接路径 (/local/home/<username>/src/test) 处重新打开文件夹。
    

© www.soinside.com 2019 - 2024. All rights reserved.