文件生成路径 .net 应用程序在调试时与 运行 测试不同

File generation path .net application varies while debugging vs running a test

我正在我的应用程序中生成一个 excel 文件。现在我正在尝试测试应用程序是否正在生成文件并将其保存在正确的位置。

从测试端,我将 ServerRootPath 设置为 TestContext。部署目录

现在我看到的问题是,如果我调试我的测试,该文件似乎是在 TestResults 文件夹中生成的,我可以看到 excel 文件,但如果我 运行 测试,我没有看到为 运行 创建的文件夹,也没有文件。

有人能指出,这里到底发生了什么吗?如果我调试与 运行 我的测试相比,TestContext 有何不同。

尝试 log/trace TestRunDirectory (https://msdn.microsoft.com/en-us/library/microsoft.visualstudio.testtools.unittesting.testcontext.testrundirectory.aspx) and/or 上下文的其他属性的值,看看您是否能弄清楚。这仍然在本地机器上,而不是在 TFS 或其他构建系统中,对吗?不确定还有什么建议。

编辑:您使用的是普通的 visual studio 测试运行器还是您有 Resharper/DevExpress/other 测试运行器?这不太可能,但它们可能会干扰目录。