如何在 Visual Studio 中禁用 TestResults 文件夹?

如何在 Visual Studio 中禁用 TestResults 文件夹?

Visual Studio 在 C# 项目的子文件夹中生成了大量空文件夹TestResults。有没有办法禁用它?我经常删除超过 5k 个。

Deploy_UserName 2017-10-31 18_13_17\
Deploy_UserName 2017-10-31 18_57_15\
Deploy_UserName 2017-10-31 19_18_32\
Deploy_UserName 2017-10-31 19_19_47\
Deploy_UserName 2017-10-31 19_20_21\
Deploy_UserName 2017-10-31 19_20_26\
Deploy_UserName 2017-11-02 16_33_32\
Deploy_UserName 2017-11-02 16_34_11\
Deploy_UserName 2017-11-02 16_45_12\
Deploy_UserName 2017-11-02 16_45_39\
Deploy_UserName 2017-11-02 17_09_55\

如此反复数千次,全部为空。

我不确定它们是否真的会减慢 VS 的速度,但我宁愿没有它们。

答案1

我没有找到完全禁用它的方法,但至少找到了一个可以接受的解决方法。它会将它们移动到更适合它们的位置。它就像这样:

  • 在您的解决方案目录中创建一个.runsettings文件(您可以给它取任何名字 - 只需保持扩展名不变),其中包含以下内容,该内容会将目录放置TestResults%temp%您的机器的位置。如果您不确定它在哪里,您可以随时通过调用在命令行中检查它,echo %test%或者只需选择任何其他位置。

    <?xml version="1.0" encoding="utf-8"?>
    <RunSettings>
    
      <RunConfiguration>    
        <ResultsDirectory>%temp%\TestResults</ResultsDirectory>    
      </RunConfiguration>
    
    </RunSettings>
    
  • 现在您必须将此事告知您的测试运行者。

    • 对于 MSTest 用户:转到Test > Test Settings > Select Test Settings File
    • 对于 ReSharper 用户:转到ReSharper > Options > Tools > Unit Testing > Ms Test并选择Use specific test settings file

顺便说一句,这些文件夹始终会被创建,如果你中断测试运行器,它们就不会被删除,所以它不会清理它们。

(灵感来自使用 .runsettings 文件配置单元测试

答案2

该文件夹可以通过项目中的属性TestResults创建。DeploymentItem

DeploymentItem属性会将您指定的任何文件/目录复制到 TestResults 文件夹中,并且不会运行该bin目录下的测试,而是运行该TestResults目录下的测试。

请记住,该DeploymentItem属性将改变上下文全部测试,无论您是否仅在一个测试类上指定它。一旦我DeploymentItem从项目中删除所有属性,就不再有TestResults文件夹了。

也可以看看:https://stackoverflow.com/questions/883270/problems-with-deploymentitem-attribute

相关内容