में प्रोटोकॉल को पुन: समेकित करें मेरे पास एक मैक्रो है जो मॉड्यूल के लिए एक मॉड्यूल बनाता है, और उस संरचना के लिए प्रोटोकॉल लागू करता है।एलिक्सीर 1.2 या उच्चतर
मेरे सूट में मेरे पास एक सरल परीक्षण मॉड्यूल है जो मैक्रो को कॉल करता है, और उसके बाद जेनरेट मॉड्यूल/स्ट्रक्चर/प्रोटोकॉल कार्यान्वयन पर दावा करता है। एक परीक्षण प्रोटोकॉल फ़ंक्शन को संरचना के साथ कहते हैं कि यह लागू किया गया है। 1.2 से पहले यह काम करता था, लेकिन अब यह विफल रहता है, और सूट चलाने पर मुझे निम्नलिखित चेतावनी मिलती है।
test/dogma/rule_builder_test.exs:7: warning: the Dogma.Rule \
protocol has already been consolidated, an implementation for \
Dogma.RuleBuilderTest.MagicTestRule has no effect
मैं अब इस परीक्षण को हटा दिया है, के रूप में मैं अपने सूट परीक्षण के बाकी इस कार्यक्षमता पर्याप्त विश्वास करते हैं, लेकिन मैं उत्सुक हूँ अगर वहाँ इस काम फिर से बनाने के लिए एक रास्ता है, या कम से चुप्पी चेतावनी पर ।
मैंने Process.consilodate/2
के साथ खेला, लेकिन असफल रहा।
आह, मुझे 'consolidate_protocols' मिश्रण परियोजना विकल्प से अवगत नहीं था। धन्यवाद। – lpil
बस स्पष्ट करने के लिए, प्रोजेक्ट विकल्प को 'project.exs' फ़ाइल में' project' function 'में मिलाएं। यदि आप इसे देखते हैं तो शायद आप 'डीफ प्रोजेक्ट' जैसे कुछ चाहते हैं, करें: [consolidate_protocols: Mix.env! =: Test] ' – Astery