2013-07-24 4 views
10

रेल 3.2 से रेल 4 तक अपग्रेड करने के बाद, मेरा ऐप काम करता है, लेकिन परीक्षण-इकाई के साथ लिखे गए मेरे परीक्षण एक आपदा हैं।क्या रेलवे 4 में टेस्ट-यूनिट का उपयोग करना अभी भी संभव है?

मिनीटास्ट परीक्षण इकाई के साथ "संगत" होने की अफवाह है। हालांकि, अगर मैं (अब बंडल) न्यूनतम उपयोग करने का प्रयास करता हूं, तो मतभेदों का एक अंतर है - कथन * कथन नाम और पैरामीटर से (स्पष्ट रूप से) कई अन्य चीजें चीजें बड़े और सूक्ष्म हैं।

मैं बजाय Minitest से बचने और मेरे Gemfile, रेक परीक्षण फट में अपने परीक्षण इकाई मणि रखने के लिए करते हुए कहा कि प्रयास करने के लिए,

undefined method 'refute_predicate' for class 'ActiveSupport::TestCase' 

यह

require 'rails/test_help' 

बुलाया होने से परिणाम का प्रयास करें: (

मैं थोड़ी देर के लिए खोज कर रहा हूं लेकिन अभी तक टेस्ट-यूनिट का उपयोग जारी रखने के लिए किसी भी तरह का पता नहीं लगाया है। एकमात्र विकल्प एक (हमारे लिए, बड़े पैमाने पर) ओ रेफैक्टरिंग प्रतीत होता है यूआर टेस्ट कोड, क्योंकि हमारे परीक्षणों में से 80% कुछ परीक्षण या यूनिट के साथ मिनीटेस्ट की असंगतताओं द्वारा किसी अन्य तरीके से टूटा हुआ है।

फिर भी पढ़ने के लिए i.e. http://weblog.rubyonrails.org/2013/6/25/Rails-4-0-final/ और http://edgeguides.rubyonrails.org/upgrading_ruby_on_rails.html#upgrading-from-rails-3-2-to-rails-4-0 मुझे पदार्थ में इसका कोई उल्लेख नहीं है - मुझे लगता है कि कुछ याद आना चाहिए।

क्या यह व्यवस्थित तरीके से परीक्षण-इकाई के साथ न्यूनतम और अधिक संगत बनाना संभव है? या रेल 4 में परीक्षण इकाई का उपयोग जारी रखने के लिए?

+0

क्या आप असंगतताओं में भाग लेने के बारे में अधिक विशिष्ट हो सकते हैं? – blowmage

+0

assert_include बनाम assert_includes, assert_not_include बनाम assert_not_includes, assert_false बनाम refute, assert_true बनाम assert। Process_with_new_base_test विधि गुम है (नियंत्रक परीक्षणों के अनुरोधों के बीच नियंत्रक आवृत्ति चर के धुंध को रोकने के लिए इसे लपेटना आवश्यक था)। परीक्षणों का एक गुच्छा अभी भी टूटा हुआ है, मैंने इस बिंदु पर छोड़ दिया। –

+0

क्या आप इस पर रिमोट जोड़ी कर रहे हैं? मुझे एक ईमेल शूट करें और हम इसे स्थापित करेंगे। – blowmage

उत्तर

3

क्या आप उप-वर्गीकरण कर रहे हैं: टेस्ट :: यूनिट :: टेस्टकेस और सक्रिय समर्थन नहीं :: टेस्टकेस?

हो सकता है कि आपके परीक्षण समूह में minitest_tu_shim जोड़ने का प्रयास करें:

https://github.com/seattlerb/minitest_tu_shim

या उपवर्ग को ActiveSupport :: testcase

0

हाँ रेल समर्थन टेस्ट :: यूनिट सुनिश्चित करें। इसके लिए गाइड यहां है।

http://guides.rubyonrails.org/testing.html

एक वैश्विक खोज & का प्रयोग कर अपने परीक्षण मामलों पर की जगह विधि के नाम बदलने के लिए।

class UserFlowsTest < ActionDispatch::IntegrationTest 

यहाँ एक नियंत्रक परीक्षण है:

class UsersControllerTest < ActionController::TestCase 

rails new app प्रयास करें स्वचालित रूप से उत्पन्न सहायकों और ढांचे फ़ाइलों की प्रतिलिपि और उदाहरण देखने के लिए

यहाँ एक एकीकरण परीक्षण है।

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