grails3.3.0_Grails 3.3具有Spock 1.1

grails3.3.0

您会很高兴知道Grails 3.3的里程碑1已在3天前发布-并且可以通过SDKMAN获得!

它不仅将其依赖项升级到了Hibernate 5.1.5,Spring Framework 4.3.7,Spring Boot 1.5.3和Gradle 3.5,而且最终还附带了最新的Spock 1.1测试框架。

Spock是老朋友

我们知道Spock是我们最喜欢的测试和规范框架之一。 在Grails 1时代左右,我们可以通过手动添加Grails Spock插件来使用Spock 0.7。 回顾Grails升级指南,Spock从2.3开始成为默认设置。 测试再次变得绝对有趣。 ��

Optional将返回默认答案Optional.empty()

这是您现在在测试Grails应用程序时可以使用的较新功能之一。

您知道当没有为方法调用定义交互时,模拟将基于其返回类型返回默认值吗? 如果返回类型是boolean则模拟将返回false ,对于数字则将返回0等。

在Java 8中引入的java.util.Optional还不支持:在Mock上调用时,它将返回null (导致更远的NPE),在Stub上调用时,它将触发CannotCreateMockExcdeption

好吧,有了Spock 1.1,现在不再。 如果没有为返回Optional的方法定义任何交互,现在默认情况下将返回一个空的 Optional

直接来自GitHub

import spock.lang.Specification

class OptionalSpec extends Specification {

  def "default answer for Optional should be Optional.empty()"() {
    given:
    TestService service = Stub()

    when:
    Optional<String> result = service.value

    then:
    !result.present
  }
}

interface TestService {
  Optional<String> getValue()
}

有关Spock 1.1版中所有内容的全面概述,请参见发行说明

翻译自: https://www.javacodegeeks.com/2017/05/grails-3-3-spock-1-1.html

grails3.3.0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值