如果所有测试都通过,则MSTest不会创建测试部署文件夹和测试结果
本文关键字:测试 创建 部署 文件夹 测试结果 MSTest 如果 | 更新日期: 2023-09-27 18:18:59
我正在使用MSTest来测试我的c#代码。
问题是,当运行测试时,我还在测试输出目录中写入一些文件:[TestMethod]
public void TestSomething() {
// Do some Assert stuff here...
TestContext context = GetContext();
string folderPath = Path.GetFullPath(context.DeploymentDirectory);
string filePath = Path.Combine(
Path.GetFullPath(this.context.TestRunDirectory),
"myfile.txt");
using (StreamWriter writer = File.CreateText(filePath)) {
writer.Write(content);
}
}
我的解决方案是在C:'Users'MyUser'Documents'MySolution
。
当失败
当我运行测试并且它们失败时,我可以看到文件夹MySolution'TestResults'Deploy_myuser 2015-10-23 21_12_51
文件夹正在创建,没有.trx
文件!但是有MySolution'TestResults'Deploy_myuser 2015-10-23 21_12_51'Out'myfile.txt
!
当通过
未创建文件夹。
我的问题
我想总是生成测试结果文件夹。我不在乎.trx
文件是否在通过时不生成(只要它失败时),但我希望始终在测试文件夹中写入myfile.txt
。
如何实现这一点?由于
指定.testsettings
文件并在其中设置一个属性以部署测试。您在这里描述的过程称为部署。当您不部署测试时,mstest
将不会创建一个额外的工作目录。它将从其构建放置位置执行测试程序集。.testsettings
可以与Visual Studio测试执行和cmd
一起使用。
更多信息请参考
这篇MSDN文章