2009-11-16 18 views
26

रेल के साथ rspec का उपयोग कर ईमेल भेजने के परीक्षण के लिए सर्वोत्तम प्रथाओं और औजार क्या हैं?रुपयेपेक का उपयोग कर ईमेल भेजने का परीक्षण कैसे करें?

उदाहरण के लिए, मैं कैसे परीक्षण करूं कि एक ईमेल भेजा गया है या मुझे कुशल परीक्षण और स्वीकार्य कवरेज रखने के लिए क्या परीक्षण करना चाहिए।

तुम लोगों के लिए एक उदाहरण की जरूरत है, मैं कैसे जा सकते हैं और यह परीक्षण होगा:

class UserMailer < ActionMailer::Base 

def jobdesc_has_been_reviewed(user, title) 
    @body[:title] = title 
    @body[:jobdesc] = jobdesc 
    @body[:url] = "http://" + user.account.subdomain + "." + Constants::SITE_URL + "/jobdescs/#{jobdesc.id}" 
end 

end 

उत्तर

24

ईमेल-कल्पना एक अच्छा पुस्तकालय

http://github.com/bmabey/email-spec

+0

Thansk पोस्ट करने का प्रयास करेंगे! या तुमने कोशिश की? – marcgg

+0

नहीं, मैंने कोशिश नहीं की है, लेकिन यह पुस्तकालय मैं उपयोग की जाने वाली तकनीक को समाहित करता हूं। – nicholaides

+0

मैंने आरएसपीईसी और ककड़ी के साथ ईमेल-स्पेक का उपयोग किया है, और यह वही दिखता है जो आप खोज रहे हैं। –

0

क्या आप वास्तव में परीक्षण करने के लिए करना चाहते हैं?

क्या आप यह जांचना चाहते हैं कि ईमेल वास्तव में वास्तव में भेजा गया है?

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

मैं आमतौर पर जो करता हूं वह सुनिश्चित करता है कि नियंत्रक कार्रवाई/मॉडल/रेक कार्य जो ईमेल भेजता है सही ढंग से चलता है (बिना त्रुटि के अर्थ, मैं अंतिम प्रेषण कॉल को रोकता हूं)। मैं यह भी सुनिश्चित करता हूं कि मेल के लिए शरीर, शीर्षक और प्राप्तकर्ता सही हैं।

संपादित करें:

नहीं सीधे परीक्षण से संबंधित है, लेकिन मैं सिर्फ इस article आया था।

मुझे ईमेल भेजने के लिए मॉडल का उपयोग करने के अपने दृष्टिकोण को पसंद है। इसलिए विवरण में थोड़ा और समझाने के लिए:

मैं @body, @title, @recipient जैसे दृश्य चर सेट अप करने के लिए नियंत्रक का उपयोग करूंगा।

तो मैं परीक्षण करता हूं कि दिए गए सही पैरामीटर मेल टेम्पलेट (जो एक दृश्य है) सही ढंग से प्रस्तुत किया गया है। यह मेरी दृष्टि से गलती हो सकती है।

मैं इस पोस्ट को उदाहरण के साथ अपडेट करूंगा उदाहरण के साथ जब मैं आज घर वापस आऊंगा।

+0

मैं वास्तव में नहीं पता है कि मैं परीक्षण करने के लिए ... मैं एक सही कवरेज के लिए देख रहा हूँ चाहता हूँ की तरह लग रहा (के परीक्षण का कहना है कि ईमेल है, तो चलो भेजा गया है और इसकी वैध सूचनाएं हैं)। क्या आप मुझे अपने अंतिम पैराग्राफ में जो वर्णन करते हैं उसके बारे में बताते हैं और क्या करते हैं? मैं rspec के लिए बिल्कुल नया हूँ इसलिए अधिक जानकारी जो आप मुझे खुश कर सकते हैं मैं :) :) – marcgg

+0

पोस्ट अपडेट किया गया। कोड उदाहरण उदाहरण आज रात –

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