Spock 测试在 NullPointerException 上失败
Spock test is failing on NullPointerException
我正在开发一个小型 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
}
}
其中 generateToken 是 TokenService 中现有的 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
}
}
我正在开发一个小型 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
}
}
其中 generateToken 是 TokenService 中现有的 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
}
}