我是视觉工作室的新手。我有2015年的视觉工作室社区。 p>
我想要做的是在使用MSTest在unittest中输出特定数据时,我想将输出保存到文件中。
我已经看到,在每次运行测试中,都会在TestResuls/Deploy_username date hour/out
中自动生成一个文件夹。我正在寻找一种方法来保存该文件夹中的测试输出。
这可能或是否有其他方法来复制文件或报告我的数据? 我查看了以下链接: https://msdn.microsoft.com/en-us/library/microsoft.visualstudio.testtools.unittesting.deploymentitemattribute.aspx
https://msdn.microsoft.com/en-us/library/ee256991.aspx
DeploymentItem not deploying files
Generating Unit Test Reports in Visual Studio 2013
这些链接都没有帮助我实现我想要的目标。
提前感谢您的帮助。
答案 0 :(得分:3)
我不会解释如何在.Net中处理文件输出,我认为你有这方面的知识。
如果您使用属性TestClass
声明了[TestClass]
,则可以添加类型TestContext
的公开属性TestContext
(请参阅MSDN),这将获得在执行测试时由MSTest设置。
您有属性TestResultsDirectory
(通常指向“IN”文件夹)和TestDeploymentDir
(通常指向“OUT”文件夹)。
例如:TestContext.TestResultsDirectory
将导致“ D:\ Visual Studio 2015 \ Projects \ UnitTestProject1 \ TestResults \ Deploy_user 2017-02-23 07_37_49 \ In ”
如果您之前需要TestContext,那么在[TestMethod]中需要在TestClass中使用public static void TestInit(TestContext testContext)
方法,这样您就可以在创建类时获得TestContext的实例。
还有一些不推荐使用的TestLogsDir,TestDir等属性,你可以在MSDN文档中阅读它。