How to use handle_specification method of KnockOutput Package

Best Bacon_ruby code snippet using KnockOutput.handle_specification


Source:bacon.rb Github


Full Screen

...28 Counter[:installed_summary] += 129 end30 class <<self; alias summary_at_exit summary_on_exit; end31 module SpecDoxOutput32 def handle_specification(name)33 puts name34 yield35 puts36 end37 def handle_requirement(description)38 print "- #{description}"39 error = yield40 puts error.empty? ? "" : " [#{error}]"41 end42 def handle_summary43 print ErrorLog if Backtraces44 puts "%d specifications (%d requirements), %d failures, %d errors" %45 Counter.values_at(:specifications, :requirements, :failed, :errors)46 end47 end48 module TestUnitOutput49 def handle_specification(name) yield end50 def handle_requirement(description)51 error = yield52 if error.empty?53 print "."54 else55 print error[0..0]56 end57 end58 def handle_summary59 puts60 puts ErrorLog if Backtraces61 puts "%d tests, %d assertions, %d failures, %d errors" %62 Counter.values_at(:specifications, :requirements, :failed, :errors)63 end64 end65 module TapOutput66 def handle_specification(name) yield end67 def handle_requirement(description)68 ErrorLog.replace ""69 error = yield70 if error.empty?71 puts "ok %-3d - %s" % [Counter[:specifications], description]72 else73 puts "not ok %d - %s: %s" %74 [Counter[:specifications], description, error]75 puts ErrorLog.strip.gsub(/^/, '# ') if Backtraces76 end77 end78 def handle_summary79 puts "1..#{Counter[:specifications]}"80 puts "# %d tests, %d assertions, %d failures, %d errors" %81 Counter.values_at(:specifications, :requirements, :failed, :errors)82 end83 end84 module KnockOutput85 def handle_specification(name) yield end86 def handle_requirement(description)87 ErrorLog.replace ""88 error = yield89 if error.empty?90 puts "ok - %s" % [description]91 else92 puts "not ok - %s: %s" % [description, error]93 puts ErrorLog.strip.gsub(/^/, '# ') if Backtraces94 end95 end96 def handle_summary; end97 end98 extend SpecDoxOutput # default99 class Error < RuntimeError100 attr_accessor :count_as101 def initialize(count_as, message)102 @count_as = count_as103 super message104 end105 end106 class Context107 attr_reader :name, :block108 109 def initialize(name, &block)110 @name = name111 @before, @after = [], []112 @block = block113 end114 115 def run116 return unless name =~ RestrictContext117 Bacon.handle_specification(name) { instance_eval(&block) }118 self119 end120 def before(&block); @before << block; end121 def after(&block); @after << block; end122 def behaves_like(*names)123 names.each { |name| instance_eval(&Shared[name]) }124 end125 def it(description, &block)126 return unless description =~ RestrictName127 block ||= lambda { should.flunk "not implemented" }128 Counter[:specifications] += 1129 run_requirement description, block130 end131 ...

Full Screen

Full Screen

Automation Testing Tutorials

Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.

LambdaTest Learning Hubs:


You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.

Try LambdaTest Now !!

Get 100 minutes of automation test minutes FREE!!

Next-Gen App & Browser Testing Cloud

Was this article helpful?