如何在VSCode的C# MSTest测试中捕获Console.WriteLine输出
在VSCode中捕获MSTest的Console输出(无需异常/Assert.Fail)
方法1:使用ITestOutputHelper(官方推荐)
这是MSTest原生支持的日志输出方式,能直接在Test Results面板中显示内容,无需依赖控制台捕获:
[TestClass] public class Tests{ private readonly ITestOutputHelper _output; // 通过构造函数注入ITestOutputHelper public Tests(ITestOutputHelper output){ _output = output; } [TestMethod] public void Test1(){ var result = "Hello 1"; _output.WriteLine(result); // 替换原Console.WriteLine } }
方法2:配置.runsettings文件捕获控制台输出
创建或编辑项目根目录下的.runsettings文件,添加控制台输出捕获配置:
<?xml version="1.0" encoding="utf-8"?> <RunSettings> <RunConfiguration> <CaptureConsoleOutput>true</CaptureConsoleOutput> </RunConfiguration> </RunSettings>
之后在VSCode中通过命令面板(Ctrl+Shift+P)执行Test: Select Test Configuration File,选择这个.runsettings文件即可生效。
方法3:开启VSCode测试扩展的标准输出捕获
打开VSCode设置(快捷键Ctrl+,),搜索Testing: Capture Standard Output并勾选该选项。此设置会让测试扩展捕获测试进程的标准输出,通常需要配合.runsettings配置一起使用。
内容的提问来源于stack exchange,提问作者PurTahan
相关产品推荐
相关产品推荐

