मैं फ़ाइलों को बदलने के रूप में स्वचालित रूप से घड़ी चलने वाले परीक्षणों को प्राप्त करने का प्रयास कर रहा हूं, और मुझे इस तथ्य को छोड़कर काम करने की ज़रूरत है कि आरएसपीसी के सभी एएनएसआई रंगों को नजरअंदाज कर दिया जा रहा है।रुबी popen3 और एएनएसआई रंग
stdin, stdout, stderr = Open3.popen3(cmd)
stdout.each_line do |line|
last_output = line
puts line
end
जब cmd rspec spec/**/*.rb
की तरह कुछ के बराबर है तो उपरोक्त कोड, सिवाय इसके कि सभी उत्पादन मोनोक्रोम में है RSpec ठीक चलाता है: अपमानजनक कोड इस प्रकार है। मैंने इसके बजाय Kernel.system
का उपयोग करने पर ध्यान दिया है, हालांकि सिस्टम उस आउटपुट को वापस नहीं करता है जिसे मुझे यह निर्धारित करने की आवश्यकता है कि कोई परीक्षण विफल/सफल हुआ है या नहीं। मैं आउटपुट को एक स्क्रिप्ट कैसे प्राप्त कर सकता हूं जिसे रूबी के भीतर से एएनएसआई रंग सहित निष्पादित किया गया है और इसे कंसोल पर आउटपुट किया जा सकता है?
धन्यवाद टॉम, आपने मुझे सही दिशा में निर्देशित किया और मुझे इसे निम्नानुसार rspec चलाकर काम करना पड़ा: 'rspec --tty --drb --colour [path]' जहां स्पष्ट रूप से [पथ] परीक्षण का मार्ग है) आप दौड़ने के लिए हैं। फिर से धन्यवाद, यह बहुत अच्छा है। –
यह '- सुंदर' तर्क था जो मेरे लिए किया था। –