gpt4 book ai didi

java - Spock 测试因 NullPointerException 失败

转载 作者:行者123 更新时间:2023-12-01 11:16:57 25 4
gpt4 key购买 nike

我正在开发一个小型 grails 应用程序,并开始使用 spock 作为测试框架。

此时测试非常简单:

    @TestFor(TokenService)
class TokenServiceSpec extends Specification {

TokenService tokenService = new TokenService()

def setup() {
}

def cleanup() {
}

def "test generateToken"() {
expect:
tokenService.generateToken(5).length() == 5
}
}

其中 generateTokenTokenService 中现有的公共(public)方法。

当我执行测试时,我得到:

Failure:  test generateToken(com.iibs.security.TokenServiceSpec)
| java.lang.NullPointerException
at com.iibs.security.TokenServiceSpec.test generateToken(TokenServiceSpec.groovy:22)

当我调试它时,我可以验证tokenService是否已正确实例化。这次失败的原因可能是什么?

感谢您的建议。

最佳答案

当您编写单元测试用例时,您不需要使用以下方法创建 TokenService 对象:-

TokenService tokenService = new TokenService()

那里已经存在一个隐式的service对象,您可以像这样使用它:-

    @TestFor(TokenService)
class TokenServiceSpec extends Specification {

def setup() {
}

def cleanup() {
}

def "test generateToken"() {
expect:
service.generateToken(5).length() == 5
}
}

关于java - Spock 测试因 NullPointerException 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31707305/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com