我已经阅读,阅读和阅读了好几天,我放弃了。有文章告诉你如何做到这一点 - 差不多。如何重命名特定结果文件,或在MSBuild中测试(TONS中的这些),或更改文件放置文件夹结构的ROOT。那些答案没有帮助。我直接在VS 2012中进行测试。[SadFace] Google这次不是我的朋友。
在我们的测试机器上,VS 2012在长文件夹结构的底部创建测试输出文件。它看起来像这样(包括文件):
<solutionFolder>\
TestResults\
<TestNameFrom.testSettingsFileWithDateAndTime>\
In\
<GuidForThisTestRun>\
<machineName>\
RecordedMedia.trmx
ScreenCapture.wmv
UITestActionLog.html
这种文件结构不仅不合理(因为测试和它的文件夹之间没有相关性),它也很难导航。从TestResults开始直到机器名称文件夹的任何文件夹中都没有任何内容。这意味着我们必须每次导航三个额外的文件夹,我们需要查看测试结果或将它们转发给开发人员(假设我们可以找出要查看的内容)。
如果运行中有多个测试,则&#34; In&#34;中将有多个GUID。文件夹,名为&#34; machine-name&#34;在那,和测试结果文件在机器名称文件夹中。例如(包括文件):
RegressionTesting\
TestResults\
WebRegressionTests _2015-09-23 14_27_20_\
In\
36fe2581-7e14-c3d0-b0fa-1956665ab20d\
DEV0282C\
RecordedMedia.trmx
ScreenCapture.wmv
UITestActionLog.html
e3448182-eb47-1840-cbde-ca5bd5660270\
DEV0282C\
RecordedMedia.trmx
ScreenCapture.wmv
UITestActionLog.html
ed71d0f3-4fc5-42ab-96e3-b68efecdf4d8\
DEV0282C\
RecordedMedia.trmx
ScreenCapture.wmv
UITestActionLog.html
(还有&#34; Out&#34;文件夹,#34; In&#34;的兄弟姐妹,但它总是空的。)
我想要的是自己指定文件夹结构,包括(在日期和时间旁边)测试用例名称和编号(来自Microsoft Test Manager),但要排除这三个空的,未使用的,无用的文件夹层。我理想的文件夹结构如下所示:
Regression\
TestResults\
64105 Delete Bumpuses Dogs 2015-09-23 14_27_20\
RecordedMedia.trmx
ScreenCapture.wmv
UITestActionLog.html
通过探索,我发现TestContext.TestResultsDirectory包含结果文件夹的绝对路径。我考虑过尝试在代码中设置文件夹名称,但TestContext.TestResultsDirectory是只读的。伤心。会不会那么容易。 。
我还考虑过在浏览器关闭后手动重命名文件夹并在测试结束时移动文件。问题:文件(显然)在某个临时文件夹中创建,并且在用户代码退出之前不会移动到其记录的文件夹中。
以下是我读过的两个页面(我允许发布的所有内容!?!?):
VS2012 Unit Tests: How to change the location of the TestResults folder(可怜的Thomans从来没有得到这个问题的答案。我担心我会在同一条船上。)
答案 0 :(得分:2)