gpt4 book ai didi

.net - 如何在bin文件夹中运行单元测试

转载 作者:行者123 更新时间:2023-12-02 20:03:56 25 4
gpt4 key购买 nike

我正在单元测试期间尝试访问解决方案结构中的文件。我的单元测试项目有bin\Debug\作为输出目录。所以我编写的代码假设 Path.GetFullPath(".")在我的单元测试中会给我这个 bin 文件夹。但它的作用是为我提供一个临时位置作为路径。

C:\Users\[username]\AppData\Local\Temp\TestResults\[username]_[machine_name] 2013-05-16 08_31_07\Out

很明显,我的单元测试无法访问我的解决方案中的文件。如果有人知道如何在单元测试项目的 bin 文件夹中运行单元测试,请帮忙。

最佳答案

您可以通过使用 .runsettings 文件并设置 <DeploymentEnabled>false</DeploymentEnabled> 来完成此操作。参见“备注”部分here 。但是,如果您使用 .testsettings 文件,则无法执行此操作,并且如果您希望能够检查测试在运行失败后读取或写入的任何文件,您可能无法这样做,因为它们可能是受到进一步测试等的污染。

另一种选择是使用部署项,这可以通过 DeploymentItemAttribute 来完成或通过您的 .testsettings 文件。属性机制是首选,基本上,在需要部署文件的测试方法上,您可以执行以下操作:

[DeploymentItem(@"source", @"target")]
public void Test1() {}

其中 source 是相对于构建输出文件夹的路径或绝对路径,target 是相对于测试运行位置的路径,或绝对路径。您可以省略目标参数,在这种情况下,它将假定目标为“.”,即运行测试的文件夹。这方面的文档是 here

关于.net - 如何在bin文件夹中运行单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16578587/

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