2010-11-16 26 views
10

के साथ स्कैला सीखें अब मैं स्कैला सीख रहा हूं। मैंने देखा कि वहां 2 टेस्ट फ्रेमवर्क हैं, स्कैलाटेस्ट और चश्मा। मेरी एकमात्र समस्या यह है कि मैं यह तय करने के लिए भाषा में आसानी से नहीं हूं कि कौन सा बेहतर है। इसके अलावा मुझे कोड से पहले परीक्षण लिखने के लिए उपयोग किया जाता है, इस समय मुझे कोई स्पष्ट विचार नहीं है कि इसे कार्यात्मक प्रोग्रामिंग में कैसे किया जाए। आदर्श रूप में मैं एक टीडीडी फैशन में स्कैला सीखना चाहता हूं, क्या इसके बारे में कोई संसाधन है?टीडीडी

उत्तर

7

एक कार्यात्मक कोन है जो आप खोज रहे हैं।

https://github.com/relevance/functional-koans/tree/scala

आप Maven जरूरत mvn package के माध्यम से इसे शुरू करने के लिए: जावा पोस से डिक दीवार एक GitHub परियोजना शुरू कर दिया।


एक और कोआन है:

http://www.scalakoans.org/

@MikeHoss को धन्यवाद!

+0

इस कोन मेरे लिए बहुत स्पष्ट नहीं है ...:) – Uberto

+0

@uberto, क्या से मैं इकट्ठा कर सकते हैं, 'कार्यात्मक koans' अभ्यास आप कार्यात्मक प्रोग्रामिंग, जिससे आप एक असफल परीक्षण दिया जाता है जानने के लिए क्या कर सकते हैं दिखाई देते हैं और आप इसे पारित करने के लिए की है। क्या यह सही है, माइकल? –

+0

हाँ, सही। इकाई परीक्षणों के समूह के साथ एक परियोजना सेटअप है। प्रगति करने के लिए आपको इसे निष्क्रिय करने के लिए वर्तमान में असफल इकाई परीक्षण को बदलना होगा। फिर अगला परीक्षण विफल रहता है और आपको कुछ नया सीखना होगा। पहली इकाई परीक्षण तुच्छ है: 'ज़ोर (गलत) // TRUE' किया जाना चाहिए –

1

शायद यह आपकी मदद करेगा। यह एक समान अनुरोध है जो स्टैक ओवरफ़्लो के किसी अन्य सदस्य द्वारा किया गया है।

Unit testing Scala

+0

कोई असली एवर भी नहीं ... – Uberto

1

ScalaTest अधिक बड़े पैमाने पर विशेषताओं और दो चौखटे के लचीला है।

यह कहकर कि ... मैं वर्तमान में चश्मे का पक्ष ले रहा हूं, वे नवीनतम स्कैला रिलीज को बनाए रखने का एक बेहतर काम कर रहे हैं और इंटेलिजे एकीकरण भी बेहतर काम करता प्रतीत होता है।

आपके लिए सीखने के लिए एक छोटे एपीआई के लिए चश्मे का लाभ भी है।

+0

2.8 के ठीक बाद बाहर आया स्कैलाटेस्ट 1.2 अंतिम रिलीज़ हुआ, जो स्कैला 2.8 के साथ ठीक काम करता है। केविन किसी भी तरह से नहीं जानते थे कि स्कैलास्ट 1.2 ने स्कैला 2.8 के साथ काम किया था। ScalaTest 1.3, जो स्कैला 2.8 के साथ भी काम करता है, 20 मार्च, 2011 तक वर्तमान रिलीज है। –

+0

उस समय मैंने यह जवाब लिखा था, मैं हाल ही में 2.8 रिलीज उम्मीदवारों के साथ काम कर रहा था, जो चश्मा बहुत बारीकी से ट्रैकिंग कर रहे थे । मुझे अभी भी स्कालाटेस्ट निर्भरता के कारण एक परियोजना को अपडेट करने में असमर्थ होने में निराशा को याद है। तब से, स्कालाटेस्ट ने मेवेन के माध्यम से अपनी निर्भरताओं को ट्रैक करना शुरू कर दिया, इसलिए तेजी से आग की रिलीज संभव होनी चाहिए और मुझे यह भविष्य में मुझे प्रभावित नहीं करता है (इसे जानने के लिए आसान है, 2.9.0 रिलीज उम्मीदवार बनाने के बारे में) –

2

तो, परीक्षण ढांचे का परीक्षण करें। इसके बारे में other questions हैं, हालांकि मैं यह इंगित करना चाहता हूं कि ScalaCheck भी है। Scalacheck Specs और ScalaTest के रूप में पूरी तरह से विशेषताओं के रूप में नहीं है, लेकिन दूसरी ओर, Specs और ScalaTest दोनों इसके साथ एकीकृत कर सकते हैं।

व्यक्तिगत रूप से, मैं स्कैला चेक के साथ जाऊंगा, जो आपके द्वारा उपयोग किए जाने वाले यूनिट परीक्षण ढांचे से बहुत अलग है। यह अंतर आपको ऑब्जेक्ट उन्मुख तरीके से परीक्षण करने से रोकने में अच्छा हो सकता है।

अब, आपके प्रश्न की मुख्य चिंता के लिए: क्या कोई टीडीडी-जैसे स्कैला ट्यूटोरियल है? मुझे किसी के बारे में पता नहीं है, हालांकि answer के बारे में functional koans आप जो चाहते हैं उससे संपर्क करने के लिए प्रकट होते हैं।

+0

मैं scalacheck एल्गोरिदम और अलग-अलग इकाइयों के एक निम्न स्तर के शेकडाउन के लिए अधिक उपयोगी है, लेकिन इतना उपयोगी साबित नहीं हो पाया है बीडीडी और उच्च स्तरीय विनिर्देशों के लिए। –

+0

@Kevin तो फिर तुम ठीक से जनरेटर का निर्माण नहीं कर रहे हैं! :-) –