"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > मल्टी-प्रोजेक्ट ग्रैडल कॉन्फ़िगरेशन में परीक्षण निर्भरता का समाधान कैसे करें?

मल्टी-प्रोजेक्ट ग्रैडल कॉन्फ़िगरेशन में परीक्षण निर्भरता का समाधान कैसे करें?

2024-11-08 को प्रकाशित
ब्राउज़ करें:185

How to Resolve Test Dependencies in Multi-Project Gradle Configurations?

मल्टी-प्रोजेक्ट ग्रैडल कॉन्फ़िगरेशन में टेस्ट निर्भरता को हल करना

ग्रैडल में मल्टी-प्रोजेक्ट बिल्ड के साथ काम करते समय, प्रोजेक्ट्स में टेस्ट कोड के बीच प्रभावी निर्भरता स्थापित करना आवश्यक है। ऐसे परिदृश्य पर विचार करें जहां प्रोजेक्ट ए और प्रोजेक्ट बी मौजूद हैं, प्रोजेक्ट बी प्रोजेक्ट ए के घटकों पर निर्भर है।

समस्या विवरण

इस स्थिति में, प्रोजेक्ट बी के लिए बिल्ड.ग्रेडल इस तरह दिख सकता है :

apply plugin: 'java'
dependencies {
  compile project(':ProjectA')
}

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

Solution

इस समस्या के समाधान के लिए, प्रोजेक्ट बी के बिल्ड.ग्रेडल को टेस्टकंपाइल निर्भरता के साथ अद्यतन किया जा सकता है:

dependencies {
  ...
  testCompile project(':A').sourceSets.test.output
}

यह नई निर्भरता सुनिश्चित करती है कि प्रोजेक्ट बी के परीक्षण कोड को प्रोजेक्ट ए से संकलित परीक्षण कक्षाओं तक पहुंच प्राप्त है। sourceSets.test.output का उपयोग करके, ग्रैडल आउटपुट निर्देशिका को हल करता है जहां निर्माण के दौरान परीक्षण कक्षाएं रखी जाती हैं।

इस कॉन्फ़िगरेशन का ग्रैडल 1.7 के साथ सफलतापूर्वक परीक्षण किया गया है। कृपया ध्यान दें कि ग्रैडल संस्करण 5.6 और उससे ऊपर के लिए, एक अलग समाधान की आवश्यकता है और इसे अलग से प्रलेखित किया गया है।

नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3