Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Ruby

अपनी न्यूनतम विफलताओं को तुरंत देखने का एक शॉर्टकट

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

......FF....

:-(

आपके परीक्षण समाप्त होने में अभी भी कुछ मिनट शेष हैं। लेकिन अगर आप टेस्ट रन जल्दी छोड़ देते हैं, तो आपको पता नहीं . होगा कौन से परीक्षण विफल रहे।

क्या आपको वास्तव में उन विफलताओं को देखने से पहले पूरी दौड़ के समाप्त होने की प्रतीक्षा करनी होगी?

Ctrl-T बचाव के लिए!

यदि आप Mac का उपयोग कर रहे हैं, तो अपनी परीक्षण विफलताओं को जल्दी देखने का एक तरीका है:

Ctrl-T दबाएं जब आपके परीक्षण चल रहे हों।

जब आप ऐसा करते हैं, तो आप देखेंगे कि वर्तमान में कौन सा परीक्षण केस चल रहा है, और यह कितने समय से चल रहा है। यदि अब तक कोई परीक्षण विफल हुआ है, तो आप भी . करेंगे उन विफलताओं को देखें, ताकि आप अपने अगले रन से पहले उन्हें ठीक करने की शुरुआत कर सकें!

यह डिबगिंग परीक्षणों के लिए भी वास्तव में आसान है जो बस लटकते हैं। Ctrl-T आपको बताएगा कि कौन सा परीक्षण कोशिश कर रहा है चलाने के लिए, ताकि आप केवल एक परीक्षण को अलग कर सकें और उसे ठीक कर सकें।

अंत में, मैंने Ctrl-T . मारने की आदत बना ली है किसी भी समय एक परीक्षण को समाप्त होने में काफी लंबा समय लगता है (जैसे, एक सेकंड या उससे अधिक)। इसने मुझे बहुत से धीमे परीक्षणों की ओर इशारा किया है जिन्हें मुझे तेज़ करने की आवश्यकता है।

Ctrl-T कैसे कार्य करता है?

मैक पर, Ctrl-T एक संदेश, या संकेत भेजता है, जिसे INFO . कहा जाता है , जो भी प्रोग्राम चल रहा हो:

signal_test.rb
puts "Starting..."
trap("INFO") { puts "INFO triggered!" }

loop { print "."; sleep 0.1}
~/Source jweiss$ ruby signal_test.rb
Starting...
........^Tload: 7.14  cmd: ruby 6121 running 0.10u 0.08s
INFO triggered!
.......^Tload: 7.14  cmd: ruby 6121 running 0.10u 0.08s
INFO triggered!
................^Tload: 11.77  cmd: ruby 6121 running 0.10u 0.08s
.INFO triggered!
......^Csignal_test.rb:5:in `sleep': Interrupt
	from signal_test.rb:5:in `block in <main>'
	from signal_test.rb:5:in `loop'
	from signal_test.rb:5:in `<main>'

मिनिटेस्ट INFO के बारे में जानता है , और परीक्षण चलाने के बारे में जानकारी प्रिंट करके इसका जवाब देता है:

~/Source/rails/activesupport[master] jweiss$ be rake
/usr/local/Cellar/ruby/2.2.0/bin/ruby -w -I"lib:test"  "/usr/local/Cellar/ruby/2.2.0/lib/ruby/2.2.0/rake/rake_test_loader.rb" "test/**/*_test.rb" 
Run options: --seed 33445

# Running:

.................F........^Tload: 1.62  cmd: ruby 29646 running 4.37u 1.40s
Current results:


  1) Failure:
CleanLoggerTest#test_format_message [/Users/jweiss/Source/rails/activesupport/test/clean_logger_test.rb:13]:
Expected "error\n" to not be equal to "error\n".



Current: DigestUUIDExt#test_invalid_hash_class 0.02s
............................

बहुत अच्छा!

यह जानते हुए कि यह संभव है, आप सोच सकते हैं कि अन्य ऐप्स INFO को कैसे संभाल सकते हैं :

  • रेल वर्तमान में चल रहे नियंत्रक क्रिया या कुछ प्रदर्शन आँकड़े प्रदर्शित कर सकती है।
  • साइडकीक आपको बता सकता है कि प्रत्येक कार्यकर्ता क्या कर रहा है, ताकि आप देख सकें कि वे कहां फंस गए हैं।

और साइडकीक वास्तव में INFO . का उपयोग करता था प्रत्येक थ्रेड के बैकट्रैक को प्रिंट करने के लिए यह चलता है। लेकिन क्योंकि INFO Linux पर समर्थित नहीं है, Sidekiq ने किसी भिन्न सिग्नल पर स्विच किया है। दुर्भाग्य से, उस सिग्नल को INFO . की तरह कीबोर्ड शॉर्टकट से ट्रिगर नहीं किया जा सकता है कर सकते हैं।

क्योंकि INFO Linux पर उपलब्ध नहीं है (और कुछ लोग कह सकते हैं कि INFO . का उपयोग करके यह तरीका पूरी तरह से सही नहीं है, वैसे भी), यह व्यवहार उतना व्यापक नहीं है जितना हो सकता है।

फिर भी, यह थोड़ी अतिरिक्त सहायता है जो विभिन्न स्थितियों में उपयोगी हो सकती है। यदि आप कोई ऐप बना रहे हैं, तो यह सोचने लायक है कि आप रुचि रखने वाले लोगों को मांग पर किस प्रकार के स्थिति संदेश प्रदर्शित कर सकते हैं।


  1. Minecraft धीमा चल रहा है? अपने मैक पर Minecraft को कैसे गति दें

    2009 में विकसित, Minecraft एक लोकप्रिय ओपन एंडेड गेम है। इस खेल में, खिलाड़ी अपनी कल्पना का उपयोग घर बनाने, उपकरण बनाने और लड़ाई के लिए करते हैं। वास्तव में, यदि आप एक गेमर हैं और कंप्यूटर गेम खेलना पसंद करते हैं, तो आपने अवश्य ही Minecraft खेला होगा। लेकिन मैक के प्रदर्शन पर ध्यान देने के लिए इस ग

  1. Instagram पर अपनी गतिविधि की स्थिति कैसे छिपाएं

    क्या आपके बहुत सारे इंस्टाग्राम फॉलोअर्स हैं? क्या आपने कभी महसूस किया है कि जब आप इंस्टाग्राम पर सक्रिय होते हैं तो उन्हें कैसे पता चलता है? कभी-कभी स्थिति को संभालना मुश्किल हो जाता है जब आपको अपने कई इंस्टाग्राम फॉलोअर्स से ऐसे संदेश मिलते हैं जिनसे आप वास्तव में परिचित नहीं होते हैं। ऐसी स्थिति

  1. 5 सेटिंग्स आपके नए प्लेस्टेशन 4 पर तुरंत बदलने के लिए

    तो, आपको इस क्रिसमस पर अभी एक नया PS4 मिला है, अब क्या? खैर, पहले बधाई हो कि अब आपके पास अपने घर पर नवीनतम प्लेस्टेशन कंसोल है। PlayStation 4 को PS4, PS4 स्लिम और PS 4 Pro जैसे 3 बेसिक मॉडल में रिलीज़ किया गया है। और अब हम इस ब्लॉग पोस्ट में जिन सेटिंग्स के बारे में बात करने जा रहे हैं, वे PlayStati