Visual Studio 2022中Resharper 2023.1测试输出为空,需如何配置?
解决Resharper执行xUnit测试无法显示完整输出的问题
检查Resharper测试输出设置
打开Resharper选项(菜单Resharper→Options),找到Tools→Unit Testing→Test Runner,勾选**"Capture standard output"和"Capture standard error"**,同时在Output区域把输出级别设为Verbose,确保能捕获所有日志内容。配置xUnit运行器参数
在项目根目录新建或修改xunit.runner.json文件,添加以下配置,并且把文件属性设置为Copy to Output Directory: Copy if newer:{ "diagnosticMessages": true, "verbose": true }这个配置会让xUnit输出更详细的日志,提升和Resharper的兼容性。
改用xUnit官方推荐的输出方式
放弃自定义IMessageSink的方式,改用ITestOutputHelper输出日志,这是xUnit官方支持的方案,和Resharper适配更好。示例代码:public class MyTestClass { private readonly ITestOutputHelper _output; public MyTestClass(ITestOutputHelper output) { _output = output; } [Fact] public void MyTest() { _output.WriteLine("这里是完整的测试输出内容"); } }清除Resharper缓存
有时候缓存会导致输出异常,执行Resharper→Options→General→Clear Caches,然后重启Visual Studio,再重新运行测试。
内容的提问来源于stack exchange,提问作者cflorenciav
相关产品推荐
相关产品推荐

