使用Verify.Xunit执行快照测试时出现verified.txt.bak残留异常
为何Verify.Xunit会残留verified.txt.bak文件导致测试失败
WinMerge的默认备份行为
Verify调用WinMerge做对比时,WinMerge本身默认会在你修改并保存对比文件(比如合并实际与预期内容)时生成.bak备份文件。Verify的自动清理逻辑只针对自身创建的临时对比文件,这类第三方工具生成的衍生文件不在它的默认清理范围内,自然不会被自动删除。旧版本Verify的清理逻辑缺陷
你使用的Verify.Xunit 19.11.2属于较早版本,它的自动清理机制没有覆盖第三方对比工具生成的额外文件。后续版本的Verify已经优化了清理逻辑,会扫描对比目录下的相关临时文件(包括.bak这类第三方工具产物),但旧版本未实现该功能。Rider测试进程的异常终止或资源占用
Rider运行测试时,如果WinMerge还在运行(比如你没关闭对比窗口),测试进程可能提前结束,导致Verify的清理钩子(通常在测试进程退出时触发)无法正常执行。另外,如果WinMerge还占用着.bak文件的句柄,Verify的清理操作会因为文件被占用而失败,最终留下残留文件。自定义对比配置的缺失
如果你自定义了Verify的对比工具设置,可能没有额外配置对.bak文件的清理规则。默认情况下Verify只清理自身命名的核心临时文件,第三方工具生成的文件需要手动添加清理规则才能被自动处理。
内容的提问来源于stack exchange,提问作者Michel Schep
相关产品推荐
相关产品推荐

