2017-02-06 13 views
8

में परीक्षण स्रोत के रूप में मार्क Gradle स्रोत फ़ोल्डर मैं एक एकीकरण परीक्षण स्रोत फ़ोल्डर ऊपर Gradle में इतनी तरह की स्थापना की है , जो परीक्षण कोड के लिए व्यवहार बदल सकता है। IntelliJ स्रोत स्रोत को परीक्षण स्रोत के रूप में नहीं पहचानता है।इंटेलीजे

मैं उन्हें इस तरह के रूप (subprojects अंदर) जोड़ने की कोशिश की:

idea { 
    module { 
     testSourceDirs += file('src/integrationTest/java') 
    } 
} 

लेकिन वह बिल्कुल भी मदद नहीं की। मैंने उन्हें टेस्ट स्रोत (संदर्भ मेनू -> मार्क निर्देशिका के रूप में -> परीक्षण स्रोत रूट) के रूप में मैन्युअल रूप से चिह्नित करने का भी प्रयास किया, लेकिन IntelliJ जल्दी से सामान्य स्रोत रूट पर ओवरराइड करता है।

मैं इसे ग्राडल में सही ढंग से कैसे कॉन्फ़िगर कर सकता हूं?

मैं IntelliJ 2016/01/03 और Gradle 2.14.1 उपयोग कर रहा हूँ उबंटू 16.04 पर

+3

परिवर्तन करने के बाद आपने अपनी आईडीईए फाइलों को फिर से कैसे बनाया? यह काम करना चाहिए (और मैंने इसे स्थानीय रूप से परीक्षण किया है) - '$ ./gradlew cleanIdea idea' – tddmonkey

+0

चलाने का प्रयास करें, मेरे पास एक समाधान होगा जहां ग्रैडल मेरी आइडिया कॉन्फ़िगरेशन उत्पन्न नहीं करता है, क्योंकि इसमें गैर-ग्रैडल प्रोजेक्ट भी हैं एक ही रेपो – Jorn

+0

@tddmonkey आपका समाधान सही '.iml' फ़ाइलों को उत्पन्न करता है, लेकिन IntelliJ उनका उपयोग नहीं कर रहा है। क्या आप जानते हैं कि मैं इसे कैसे कर सकता हूं? जावा प्रोजेक्ट दूसरे का सबफ़ोल्डर है, और वह कॉन्फ़िगरेशन के लिए '.idea' फ़ोल्डर वाला मुख्य प्रोजेक्ट है। – Jorn

उत्तर

1

तुम्हें यकीन परीक्षण स्रोत बनाने के लिए की आवश्यकता होगी इस पैकेज के लिए एक मात्र स्रोत तो

idea { 
    module { 
     sourceDirs -= file('src/integrationTest/java') 
     testSourceDirs += file('src/integrationTest/java') 
    } 
} 

और उसके बाद है आप IntelliJ फ़ाइलों को फिर से बनाने के लिए gradle cleanIdea idea की आवश्यकता होगी।

sourceSets { 
    integrationTest { 
     java { 
      compileClasspath += main.output + test.output 
      runtimeClasspath += main.output + test.output 
      srcDir "$projectDir/src/integrationTest/java" 
     } 
     resources.srcDir "$projectDir/src/integrationTest/resources" 
    } 
} 
+1

नहीं, यह कुछ भी नहीं बदलता है। – Jorn

+0

@ जोर्न इसे संपादित करने का सुझाव देते हैं जैसे मैंने संपादन में सुझाव दिया है, आपकी 'फ़ाइल() 'के बारे में निश्चित नहीं है, लेकिन मैं स्रोत के लिए संपूर्ण पथ निर्दिष्ट करता हूं। साथ ही आप ग्रैडल में आइडिया प्लगइन का उपयोग करते हैं या आप इंटेलिजे आईडीई में ग्रैडल एकीकरण का उपयोग करते हैं? – LazerBanana

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