单元测试 – 如何在groovy中使用Spock框架单元测试日志记录错误

单元测试 – 如何在groovy中使用Spock框架单元测试日志记录错误,第1张

概述所以我有一个类,它有一个记录消息的方法: class Car { private Logger logger = LoggerFactory.getLogger(Car.class); void startCar() { logger.error("car stopped working"); }} 如何使用spock测试框架测试错误是否已记录? cl 所以我有一个类,它有一个记录消息的方法:

class Car {    private Logger logger = LoggerFactory.getLogger(Car.class);    voID startCar() {        logger.error("car stopped working");    }}

如何使用spock测试框架测试错误是否已记录?

class CarTest extends Specification {    def "test startCar"() {        given:        Car newCar = new Car();        when:        newCar.startCar();        then:        // HOW CAN I ASSERT THAT THE MESSAGE WAS LOGGED???    }}
解决方法 您可以检查记录器上的错误调用

@Grab(group='org.spockframework',module='spock-core',version='0.7-groovy-2.0')@Grab(group='org.slf4j',module='slf4j-api',version='1.7.7')@Grab(group='ch.qos.logback',module='logback-classic',version='1.1.2')import org.slf4j.Loggerclass MockLog extends spock.lang.Specification {    public class Car {        private Logger logger = org.slf4j.LoggerFactory.getLogger(Car.class);        voID startCar() {            logger.error('car stopped working');        }    }    def "mock log"() {    given:        def car = new Car()        car.logger = Mock(Logger)    when:        car.startCar()    then:        1 * car.logger.error('car stopped working')    }}

编辑:完整示例https://github.com/christoph-frick/spock-test-logging

总结

以上是内存溢出为你收集整理的单元测试 – 如何在groovy中使用Spock框架单元测试日志记录错误全部内容,希望文章能够帮你解决单元测试 – 如何在groovy中使用Spock框架单元测试日志记录错误所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1246279.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-07
下一篇 2022-06-07

发表评论

登录后才能评论

评论列表(0条)

保存