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框架单元测试日志记录错误所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)