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
。
- 对于 MSTest 用户:转到
顺便说一句,这些文件夹始终会被创建,如果你中断测试运行器,它们就不会被删除,所以它不会清理它们。
(灵感来自使用 .runsettings 文件配置单元测试)
答案2
该文件夹可以通过项目中的属性TestResults
创建。DeploymentItem
该DeploymentItem
属性会将您指定的任何文件/目录复制到 TestResults 文件夹中,并且不会运行该bin
目录下的测试,而是运行该TestResults
目录下的测试。
请记住,该DeploymentItem
属性将改变上下文全部测试,无论您是否仅在一个测试类上指定它。一旦我DeploymentItem
从项目中删除所有属性,就不再有TestResults
文件夹了。
也可以看看:https://stackoverflow.com/questions/883270/problems-with-deploymentitem-attribute