2016-03-22 3 views
0

Как вводить свойства из файла applicaiton.yml в интеграционный тест в grails 3.0?Ввести свойство в интеграционный тест Grails 3

Для бывших: у меня есть это свойство в моем applicaiton.yml

---- 
testing: 
    defaults: 
     startUrl: 'http://localhost:8080/' 
---- 

В моем тесте интеграции Спок, у меня есть следующий код:

class WebpageRolesTestSpec extends Specification { 

    def grailsApplication 
    String LOGIN_URL = grailsApplication.config.getProperty('testing.defaults.startUrl') 

    void "test login screen prompt"() { 
     expect: 
     LOGIN_URL == 'http://localhost:8080/' 
    } 
} 

Исключение я получаю: может не получить свойство «конфигурации» на объекте нулевой

ответ

1

Вы можете использовать держатели:

import grails.util.Holders 
... 
LOGIN_URL = Holders.config.testing.defaults.startUrl 
... 
+0

безупречный! благодаря! – angryip

1

Ниже для меня работает тест Grails 3.1.1, я полагаю, вам понадобится чистое приложение.

import grails.test.mixin.integration.Integration 
import grails.transaction.* 
import spock.lang.* 

@Integration 
@Rollback 
class SampleSpec extends Specification { 
    def grailsApplication 

    void "test something"() { 
     expect:"fix me" 
      grailsApplication.config.getProperty('testing.defaults.startUrl') == 
       'http://localhost:8080/' 
    } 
} 
Смежные вопросы