2016-03-22 10 views
5

मैं अलग किया है dataSourceConfig.yml डेटाबेस कॉन्फ़िग फ़ाइल पर नहीं:Grails 3: एकता परीक्षण एक विकास के वातावरण में चलाने के लिए, एक परीक्षण वातावरण

environments: 
    development: 
     dataSource: 
      dbCreate: none 
      url: jdbc:oracle:thin:xxxxxx 
      driverClassName: oracle.jdbc.OracleDriver 
      dialect: org.hibernate.dialect.Oracle10gDialect 
      username: xxxx 
      password: xxxx 
    test: 
     dataSource: 
      dbCreate: none 
      url: jdbc:oracle:thin:xxxxx 
      driverClassName: oracle.jdbc.OracleDriver 
      dialect: org.hibernate.dialect.Oracle10gDialect 
      username: xxxxx 
      password: xxxxx 

कौन सा मैं Application.java में परियोजना से कनेक्ट:

class Application extends GrailsAutoConfiguration implements EnvironmentAware { 

    static void main(String[] args) { 
     GrailsApp.run(Application, args) 
    } 

    @Override 
    void setEnvironment(Environment environment) { 
     String configPath = environment.getProperty("local.config.location") 
     Resource resourceConfig = new FileSystemResource(configPath) 
     YamlPropertiesFactoryBean ypfb = new YamlPropertiesFactoryBean() 
     ypfb.setResources([resourceConfig] as Resource[]) 
     ypfb.afterPropertiesSet() 
     Properties properties = ypfb.getObject() 

     environment.propertySources.addFirst(new PropertiesPropertySource("local.config.location", properties)) 
    } 
} 

जब मैं इंटेलिज आईडीईए 15 के माध्यम से एकीकरण परीक्षण चलाता हूं, तो यह विकास पर्यावरण पर परीक्षण चलाता है, लेकिन वाईएएमएल कॉन्फ़िगरेशन फ़ाइल में परीक्षण अनुभाग है ।

क्या कोई यह जानता है कि इसे कैसे ठीक किया जाए? कमांड भाई मदद नहीं करता है।

grails test test-app -integration 
+0

यदि आप 'grails -Dgrails.env = test test-app -clean-antegration' चलाते हैं तो क्या होता है? – saw303

+1

@ saw303 'grails' या' gradle' का उपयोग करके परीक्षण चलाते समय आपको '-Dgrails.env = test' निर्दिष्ट करने की आवश्यकता नहीं है। आईडीई के अंतर्निहित रन कॉन्फ़िगर सामग्री का उपयोग करके आईडीई से चलते समय केवल इसकी आवश्यकता होनी चाहिए। –

+0

'grails test test-app-angration' मान्य नहीं है। आप शायद 'grails test-app एकीकरण' चाहते हैं: या './gradlew iT'। –

उत्तर

7

आप आईडीई आप रन config को संशोधित करने के -Dgrails.env=test शामिल करने की जरूरत से परीक्षण चलाने के लिए जा रहे हैं। आप डिफ़ॉल्ट JUnit रन कॉन्फ़िगरेशन के लिए ऐसा करना चाहते हैं, इसलिए आपको प्रत्येक परीक्षण रन कॉन्फ़िगरेशन को संपादित करने की आवश्यकता नहीं है। ध्यान रखें कि डिफ़ॉल्ट JUnit रन कॉन्फ़िगरेशन को संपादित करने से भविष्य में बनाए गए सभी कॉन्फ़िगरेशन प्रभावित होंगे लेकिन मौजूदा कॉन्फ़िगरेशन अपडेट नहीं होंगे। आप सभी मौजूदा रन कॉन्फ़िगरेशन को हटाना चाहते हैं ताकि अगली बार जब आप उन परीक्षणों को चलाते हैं तो उन्हें नई सेटिंग्स के साथ पुनर्निर्मित किया जाएगा।

+0

मैं आईडीई के भीतर रन कॉन्फ़िगरेशन के बारे में बात कर रहा हूं, जो कुछ भी आप Grails कॉन्फ़िगरेशन फ़ाइल में निर्दिष्ट नहीं करते हैं। –

संबंधित मुद्दे