2010-12-04 21 views
5

रेल स्वत: जनरेट कार्यात्मक परीक्षण (test/functional/products_controller_test.rb), मैं निम्नलिखित कोड को देखने में:रेल कार्यात्मक परीक्षण

class ProductsControllerTest < ActionController::TestCase 
    setup do 
    @product = products(:one) 
    ... 
    end 

    ...some tests here... 
end 

सवाल किया है कि मैं कर रहे हैं:

  1. कहाँ/कैसे है विधि कॉल products() परिभाषित?

  2. products(:one) वास्तव में क्या मतलब है? कोड को देखते हुए, इसका अर्थ है "एक उत्पाद बनाएं", लेकिन यह कैसे काम करता है?

एनबी। मैं रुबी/रेल के लिए नया हूं, क्षमा चाहता हूं अगर ये एक छोटे प्रश्न हैं।

उत्तर

11

यदि आप अपने परीक्षण/फिक्स्चर फ़ोल्डर में देखते हैं, तो आपको एक product.yml फ़ाइल दिखाई देगी। जब आप मॉडल बनाते हैं तो यह स्वचालित रूप से जेनरेट होता है। आपकी परीक्षण फ़ाइलों में, products(:one) "एक" लेबल वाली उस फ़ाइल में उत्पाद का जिक्र कर रहा है। परीक्षणों के लिए फिक्स्चर स्वचालित रूप से डेटाबेस में लोड हो जाते हैं, और products() विधि उन ऑब्जेक्ट्स के लिए सुविधाजनक एक्सेसर के रूप में बनाई गई है।

आप अपनी खुद की स्थिरता वस्तुओं को आवश्यकतानुसार, यम फ़ाइल में सीधे जोड़ सकते हैं।

संबंधित मुद्दे