प्रस्तावना
मैंने अभी रूबी में प्रवेश करना शुरू कर दिया है और न केवल भाषा सीखने की कोशिश की बल्कि कुछ विकास रणनीतियों को भी सीखने की कोशिश की है। एक शुरुआत के रूप में मैं टेस्ट और व्यवहार संचालित विकास पर ध्यान केंद्रित कर रहा हूं। (हाँ, मैं तुलना प्रयोजनों के लिए दोनों कर रहा हूँ)आरएसपीसी 2 के लिए आरसीओवी कवरेज का सही ढंग से पता नहीं लगा रहा है? (रेल नहीं!)
मैं उपयोग कर रहा हूँ
- unittest (TDD)
- ककड़ी (BDD)
- Rspec (TDD और BDD)
विभिन्न स्थानों पर मुझे आरसीओवी का एक उपकरण के रूप में सामना करना पड़ा ताकि मुझे यह बताने के लिए कि मेरा वास्तविक कोड वास्तव में कितना परीक्षण कर रहा है।
मैं UnitTests की covarage विश्लेषण के लिए मेरी Rakefile
में निम्नलिखित RakeTask की स्थापना:
desc "Run RCov to get coverage of UnitTests"
Rcov::RcovTask.new(:rcov_units) do |t|
t.pattern = 'tests/**/tc_*.rb'
t.verbose = true
t.rcov_opts << "--html"
t.rcov_opts << "--text-summary"
t.output_dir = "coverage/tests"
end
यह ठीक काम करता है और मैं coverage/tests
में एक अच्छा रंग एचटीएमएल रिपोर्ट हो रही है।
समस्या परिचय
इसी प्रकार मैं RCov निम्नलिखित RakeTasks मेरी ऐनक के कवरेज के विश्लेषण के लिए प्रयोग की जाने वाली लिखा है:
desc "Run RCov to get coverage of Specs"
Rcov::RcovTask.new(:rcov_spec) do |t|
t.pattern = 'spec/**/*_spec.rb'
t.verbose = true
t.rcov_opts << "--html"
t.rcov_opts << "--text-summary"
t.output_dir = "coverage/spec"
end
समस्या परिभाषा
हालांकि, coverage/spec
दिखता में सृजित HTML रिपोर्ट किसी भी तरह अधूरा और लगभग असफल रहा।
किसी भी परीक्षण विधि निकायों को कवर और इस प्रकार लाल के रूप में चिह्नित नहीं किया जाता है। हालांकि, मुझे 100% यकीन है कि वे चश्मा के भीतर निष्पादित कर रहे हैं। केवल def method_name(args)
और class ClassName
को 'हरी' चिह्नित किया गया है। (साथ ही attr_reader :instance_variable
के साथ लाइनें)
क्या मुझे कुछ याद आ रही है?
$: ruby --version
ruby 1.8.7 (2011-02-18 patchlevel 334) [x86_64-linux]
$: rspec --version
2.8.0
$: rcov --version
rcov 0.9.11 2010-02-28
$: rake --version
rake, version 0.9.2
यदि आप रूबी 1.9 पर स्विचिंग का सुझाव दे सकते हैं और सरलकोव के साथ आरसीओवी को बदल सकते हैं (केवल 1.9 के साथ काम करता है)। – Schmurfy