我是 visual studio 的新手。我有 visual studio community 2015。
我想做的是在使用 MSTest 的单元测试中输出特定数据时,我想将输出保存到文件中。
我已经看到,在每次运行测试时,都会在 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
这些链接都没有帮助我实现我想要的。
预先感谢您的帮助。
最佳答案
我不会解释文件输出是如何在 .Net 中处理的,我想你已经了解了这方面的知识。
如果你有一个 TestClass
用属性声明 [TestClass]
您可以添加公共(public)属性 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] 中您需要使用 public static void TestInit(TestContext testContext)
TestClass 中的方法,因此您在创建类时获得 TestContext 的实例。
还有 TestLogsDir、TestDir 等属性已弃用,您可以阅读有关它的 MSDN 文档。
关于c# - 在 TestResults 的 deploymentFolder 的 "Out"文件夹中从 UnitTest 输出,在 Visual Studio 中使用 MSTest,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39117922/