From: "Timm Mason (c)" Date: 2008-06-04T10:53:53+09:00 Subject: extending CI::Reporter Hi, I was wondering if anyone has had any luck trying to extend CI::Reporter Specifically, I wanted to change some formatting, so that failure messages are enclosed in CDATA blocks. I tried extending the to_xml method in Rakefile.rb but it seems to have no effect, so clearly I am missing something... My Rakefile is below. When I run it, everything happens as if I haven't actually extended the method at all. Ie "YO!!!" does not appear in the XML output, and "this is broken!" never prints out. What am I missing here? require 'rake' require 'rake/testtask' require 'rake/clean' require 'rubygems' gem 'ci_reporter' require 'ci/reporter/rake/test_unit' require 'ci/reporter/core' # modify ci_reporter to put failure message in CDATA element # note this is not working class CI::Reporter::TestUnit def to_xml(builder) attrs = {} each_pair {|k,v| attrs[k] = builder.trunc!(v.to_s) unless v.nil? || v.to_s.empty?} builder.testcase(attrs) do failures.each do |failure| builder.failure(:type => builder.trunc!(failure.name), :message => builder.trunc!(failure.message)) do builder.text!("YO!!!" + failure.message + " (#{failure.name})\n") builder.text!(failure.location) end end end puts "this is broken!" end end task :default => [ :all_tests ] task :all_tests => ['ci:setup:testunit'] Rake::TestTask.new(:all_tests) do |t| t.test_files = FileList['test/*test.rb'] t.verbose = true t.warning = false end