use*_*924 4 java grails groovy unit-testing spock
我正在尝试使用Spock测试src/groovy中的一些代码.我正在测试的代码引用了grailsApplication.因为它在src/groovy中,我使用依赖注入将grailsApplication注入到bean中,如下所示:
ticketRequestEmailInfo(TicketRequestEmailInfo) {
grailsApplication = ref('grailsApplication')
}
Run Code Online (Sandbox Code Playgroud)
我遇到的问题是当测试代码遇到引用grailsApplication的代码行时,我得到一个NullPointerException:
java.lang.NullPointerException: Cannot get property 'config' on null object
Run Code Online (Sandbox Code Playgroud)
我的测试类有以下几点:
@TestMixin(GrailsUnitTestMixin)
class TicketRequestEmailInfoSpec extends Specification {
def setup() {
grailsApplication.config.acme.purchase.trsUrlBase = "http://localhost:8082/purchase/order/"
}
Run Code Online (Sandbox Code Playgroud)
有没有人有什么建议?
试试Holders.grailsApplication.config
:
@TestMixin(GrailsUnitTestMixin)
class TicketRequestEmailInfoSpec extends Specification {
def setup() {
Holders.grailsApplication.config.acme.purchase.trsUrlBase = "http://localhost:8082/purchase/order/"
}
Run Code Online (Sandbox Code Playgroud)