क्या विभिन्न स्रोतों में कोटलिन पैकेज फ़ंक्शंस और पैकेज गुणों का उपयोग करना संभव है? जब मैं ऐसा करने की कोशिश करता हूं, तो मेरे पास NoSuchMethodError
फेंक दिया जाता है।कोटलिन: java.lang.No.SuchMethod परीक्षण में त्रुटि
उदाहरण
मैं Kotlin कोड और उस में दो sourcesets, main
और test
साथ Gradle परियोजना है। main
में, मैं फ़ाइलों में से एक में निम्नलिखित कोड है: जहां payloadSplitter
है
package ru.ifmo.ctddev.igushkin.dkvs
...
public class MessageTests {
...
test fun testParsing() {
...
checkParseAndToString("p1b 345 ${payloadSplitter} set a b c")
}
...
}
और वास्तव में पहली पंक्ति में:
package ru.ifmo.ctddev.igushkin.dkvs
...
public val payloadSplitter: String = " ### "
test
में मैं निम्न कोड के साथ payloadSplitter
तक पहुँचने का प्रयास पहुँचा, कार्यावधि में मैं
java.lang.NoSuchMethodError: ru.ifmo.ctddev.igushkin.dkvs.DkvsPackage.getPayloadSplitter()Ljava/lang/String;
अन्य वैश्विक चर और फ़ंक्शन भी test
में एक ही त्रुटि के साथ पहुंच योग्य नहीं हैं।
युपीडी Kotlin टीम मुद्दा समझाया और ठीक here की घोषणा की।
आप किसी भी शीर्ष स्तर के कार्यों/ru.ifmo.ctddev.igushkin.dkvs पैकेज में टेस्ट मैचों में गुण है? –
आप परीक्षण कैसे चलाते हैं? क्या आप अपनी ग्रेडल कॉन्फ़िगरेशन पोस्ट कर सकते हैं? ऐसा लगता है कि परीक्षण पैकेज मुख्य पैकेज के खिलाफ संकलित है लेकिन इसके बिना भाग गया है। –
@ सलमोमनBRYS, https://github.com/h0tk3y/dkvs/blob/master/build.gradle - यहां यह है। – hotkey