Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用ApprovalTests批准日志_Java_Approval Tests - Fatal编程技术网

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
    接口编写自己的代码