gpt4 book ai didi

C# 单元测试 - 奇怪的项目目录

转载 作者:太空宇宙 更新时间:2023-11-03 20:21:02 25 4
gpt4 key购买 nike

我有这样一种情况,我正在运行单元测试并尝试获取项目基本路径,但它给我一个奇怪的输出。

D:\VSCode\Bob.Smith\Projects\MySolution\DEVELOPMENT\MyClasses\MyProject\TestResults\Jacob.Freeman_P1004 2012-11-26 09_21_33\Out

这是 VS 的已知问题还是我遗漏的问题?我使用没有其他代码的以下行来获取目录信息。

string output = null;
output = Environment.CurrentDirectory;

我已经尝试了不同的方法来获取目录信息,如下所示,但它仍然给我相同的输出。

output = System.IO.Directory.GetCurrentDirectory()

提前致谢。

最佳答案

如文档所述Environment.CurrentDirectory:

Gets or sets the fully qualified path of the current working directory.

当前工作目录不一定是项目的基本路径 - 它是您启动 exe 时的路径。在运行测试时,此路径由测试运行器设置。这个变量可以在程序运行时改变。

在应用程序中,您应该使用 Assembly.GetEntryAssembly().Location 来获取您的 exe 文件的位置。这不适用于测试,因为它们是由测试运行器执行的。

如果出于测试目的,您只需要测试 dll 文件的位置,您可以使用 typeof(SomeTypeThatIsDeclaredInThatDLL).Assembly.Location

关于C# 单元测试 - 奇怪的项目目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13561931/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com