मैंने अतीत में अजगर के लिए lettuce का उपयोग किया है। यह एक साधारण बीडीडी ढांचा है जहां चश्मे बाहरी सादे पाठ फ़ाइल में लिखे जाते हैं। कार्यान्वयन प्रत्येक चरण की पहचान करने के लिए रेगेक्स का उपयोग करता है, विनिर्देशन में प्रत्येक वाक्य के लिए पुन: प्रयोज्य कोड साबित करता है।स्कैला में बीडीडी - क्या इसे बदसूरत होना चाहिए?
स्केला का उपयोग करना, या तो specs2 या scalatest साथ मैं कार्यान्वयन के साथ विनिर्देश लिखने के लिए मजबूर किया जा रहा हूँ, यह एक और परीक्षण में कार्यान्वयन का पुन: उपयोग करने के लिए असंभव बना रही है (यकीन है कि, हम इसे कहीं एक समारोह में लागू हो सकता है) और बनाने विनिर्देशन से परीक्षण कार्यान्वयन को अलग करना असंभव है (कुछ ऐसा जो मैं करता था, सत्यापन के लिए ग्राहकों को स्वीकृति परीक्षण प्रदान करता था)।
निष्कर्ष निकालने पर, मैं अपना प्रश्न उठाता हूं: ग्राहकों द्वारा परीक्षण मान्य करने के महत्व को ध्यान में रखते हुए, क्या बाहरी फ़ाइल से परीक्षण लोड करने के लिए स्केल के लिए बीडीडी ढांचे में कोई तरीका है, अगर अपवाद में कोई वाक्य लागू नहीं किया गया है तो अपवाद उठाएं अभी तक और सामान्य रूप से परीक्षण निष्पादित करते हैं यदि सभी वाक्यों को लागू किया गया है?
मैंने पहले ही स्कैला की दुनिया में ऐसा कुछ खोजा है। दुर्भाग्यवश, ऐसा लगता है कि उदाहरण के लिए रुबी दुनिया में ककड़ी का कोई समकक्ष नहीं है, जहां हमारे पास विनिर्देशों (दी गई, कब, फिर ...) युक्त एक पूरी तरह से स्वतंत्र फ़ाइल हो सकती है। आप Specs2 से रीजिक्सप पार्सिंग का उपयोग कर सकते हैं (जैसे प्रलेखन evokes) और अपने spec परीक्षण की शुरुआत में एक शुद्ध txt फ़ाइल (परिदृश्य) लोड करें। लेकिन मेरे पास आपके पास "नियंत्रण" नहीं होगा, जिसके अनुसार मेरी सजा का परीक्षण नहीं किया गया है। – Mik378
आपने अभी एक वाक्य में 'टेक्स्ट फ़ाइल' 'regexp' और 'reusable' कहा और फिर स्कैला संस्करण बदसूरत नाम दिया? #ImLost –