Think। आप यह निर्धारित करके शुरू करते हैं कि आप अपने आवेदन को ककड़ी में क्या चाहते हैं, फिर आरएसपीईसी में उतरें और कक्षाओं और मॉड्यूल का वर्णन करें जो उस व्यवहार को काम करते हैं।
मुझे इसे पाने के लिए थोड़ी देर लग गई है, लेकिन मुझे लगता है कि ककड़ी वास्तव में व्यापक रूप से वर्णन करने के लिए अच्छी है कि आप अपने आवेदन को क्या करना चाहते हैं और आरएसपीईसी वास्तव में यह कैसे करना चाहिए यह वर्णन करने में वास्तव में अच्छा है।
तो आप अपने ककड़ी कहानियों में कहेंगे कि आप किस प्रकार की सुविधा चाहते हैं और इनपुट प्रदान करने और आउटपुट देखने के लिए सुपर सरल कदम लिखें। फिर आप आरएसपीसी पर उतर जाते हैं और विनिर्देश लिखते हैं कि इसे वास्तव में कैसे करना चाहिए।
मान लें कि आपकी सुविधा वेबसाइट पर उपयोगकर्ता नामों की खोज करने की क्षमता है।आप एक ककड़ी सुविधा और पहली (और केवल पहले) इस तरह के परिदृश्य में लिख सकते हैं:
Feature: Search users
In order to find people with similar interests as myself
As a user
I want to search for people
Scenario: Search for similar hobbies
Given there is a search page
And there is a list of hobbies
And one of the hobbies is "full contact ironing"
When I select "full contact ironing"
And press search
Then a list of users with the hobby "full contact ironing" are shown
आप ककड़ी चलाने के लिए, यह आप चरणों से वंचित हो रहे बताता है, तो आप उन कॉपी और जांच करने के लिए सरल कदम बनाने इस सामान के लिए अभी तक कोई कोड नहीं लिखें।
आप अपने कदम परिभाषा के साथ काम हो गया जब आप RSpec में ड्रॉप डाउन और आप कैसे यह काम करना चाहता हूँ पर विनिर्देशों लेखन शुरू। (बेशक ककड़ी में नाकाम रहने की जानी चाहिए)
describe "SearchController" do
it "should respond to searches" do
sc = SearchController.new
sc.should respond_to(:search)
end
end
आप RSpec चलाने के लिए और घड़ी यह असफल तो दूर जाकर अपने कोड लिखने:
class SearchController
def search
end
end
यह है कि। अब अपना परीक्षण फिर से चलाएं। इसे पास करना और अधिक विशिष्ट होना शुरू करना चाहिए और यह वर्णन करना शुरू करना चाहिए कि आप वास्तव में खोज सुविधा का उपयोग कैसे करेंगे। मैं इसमें गहराई से भी नहीं आना चाहता था, मैं सिर्फ आपको यह विचार देना चाहता था कि आप ककड़ी में जो चाहते हैं उसका वर्णन करते हैं, फिर वर्णन करें कि इसे वास्तव में आरएसपीईसी में कैसे काम करना चाहिए।
बेशक आप ककड़ी या आरएसपीईसी में सबकुछ में सबकुछ कर सकते हैं लेकिन मुझे सचमुच पता चला है कि ककड़ी मुझे बहुत सरल तरीके से कहने में मदद करती है, जहां मैं चाहता हूं कि अगर मैं आरएसपीसी में ऐसा करने की कोशिश करता हूं तो मैं विवरण में उलझ जाता हूं। यदि मैं मूलभूत विशेषता का वर्णन करने के लिए सबसे पहले ककड़ी का उपयोग करता हूं और फिर मैं आरएसपीईसी में क्यों जा सकता हूं और कह सकता हूं कि मैं वास्तव में यह सुविधा कैसे काम करना चाहता हूं।
कभी कभी अपने परीक्षण, जो बहुत ही सूखी नहीं है में दोहराव नहीं होगा, लेकिन यह आप के रूप में ज्यादा परेशान नहीं हो सकता है यदि आप विस्तार से इस मुद्दे का एक स्तर के रूप में यह के बारे में सोच। मैं पहले तक प्रयासों की बहुत सारी नकल कर रहा था जब तक मुझे एहसास नहीं हुआ कि मुझे केवल सामान्य रूप से कहना चाहिए कि मैं ककड़ी में क्या चाहता हूं, फिर विशेष रूप से आरएसपीईसी में क्या चाहता हूं।
यह कैसे उपकरणों का उपयोग करने के सभी बस एक नौसिखिया के विचार है, लेकिन यह अब तक मेरे लिए अच्छी तरह से काम करने के लिए प्रतीयमान है। मैंने शायद आपको एक भयानक उदाहरण दिया है, लेकिन मैं सामान्य विवरण के बारे में सामान्य विवरण के बारे में बता रहा हूं जो टूल का उपयोग करते समय उपयोगी पाया गया है।
मैं पूरी तरह सहमत, यह मेरा अनुभव के रूप में अच्छी तरह से किया गया है। –