从 Visual Studio 测试资源管理器运行单元测试时如何更改工作目录

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

对于我的新项目,我安装了 Visual Studio 2022,而我的同事仍在使用 Visual Studio 2019。

大多数测试在我的计算机上都失败了,经过一些故障排除后,我发现这是由于运行测试时工作目录的更改所致。我的测试不是在生成的

bin
文件夹或类似的文件夹中执行,而是在
AppData\Local\Temp
文件夹中执行:

System.IO.Directory.GetCurrentDirectory();

“C:\Users\91002969\AppData\Local\Temp”

=> 我们在测试项目中使用的所有相对路径都不再有效。

例如:

这是项目结构:

Project
|-Fixture
|  \_ NoPalmsTables.IB
\_Project.csproj

文件“NoPalmsTables.IB”不会复制到输出目录,并且没有关联的构建操作。测试期间,执行以下行:

var path = Path.GetFullPath("../../Fixtures/NoPalmsTables.IB");

在 Visual Studio 2022 中,我得到以下结果

“C:\Users\91002969\AppData\Fixtures\NoPalmsTables.IB”

在 Visual Studio 2019 中,我的同事得到以下结果:

“C:\Users\90026496\PATH_TO_WORKSPACE\src\Project\Fixtures\NoPalmsTables.IB”

我的猜测是由于迁移到VS2022所致。有没有办法告诉 Visual Studio 在特定文件夹而不是

AppData
中运行测试?

我不知道它是否相关,但我们正在使用 NUnit2 来测试我们的应用程序(我们正在研究迁移到版本 3 的可能性)。最后,该应用程序面向 .NET 4.7.2。

visual-studio-2019 nunit visual-studio-2022 test-explorer
2个回答
0
投票

嗯...我运行了 git clean 命令来完全清理我的工作区并且...它突然工作正常...

这是我使用的命令:

git clean -d -f -x

不知道发生了什么...


0
投票

将 VS 2022 更新到最新版本后,我遇到了同样的问题。对我来说,删除(隐藏)目录

.vs
就足够了,它与我运行测试的解决方案位于同一目录中。

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