Java 如何使用ApprovalTests批准日志
我想用它来验证日志输出。处理日志文本动态内容(如时间戳)的首选方法是什么?包含的Java 如何使用ApprovalTests批准日志,java,approval-tests,Java,Approval Tests,我想用它来验证日志输出。处理日志文本动态内容(如时间戳)的首选方法是什么?包含的FileApprover总是比较文件是否完全相等。有几种解决方案。按优先顺序排列如下: 测试期间不要记录动态内容 在测试期间伪造动态内容,以便输出一致 比较之前,请先清除日志文件。这通常看起来像: ScrubFile("log.txt", "log_scrubbed.txt", new DateScrubber(), new GuidScrubber()) 该概念与中描述的相同。但是,Approvals.Java
FileApprover
总是比较文件是否完全相等。有几种解决方案。按优先顺序排列如下:
ScrubFile("log.txt", "log_scrubbed.txt", new DateScrubber(), new GuidScrubber())
该概念与中描述的相同。但是,Approvals.Java中的API已更改
val dynamicContentScrubber = RegExScrubber(pattern, replacement)
val scrubberOptions = Options(dynamicContentScrubber)
Approvals.verify(content, scrubberOptions)
Java有一些内置的洗涤器,比如datescruber
,GuidScrubber
,和regexscruber
。您可以通过实现org.approvaltests.core.scriber
接口编写自己的代码