HTML test output?

The other thing I’ve been looking for is a way to output the Ruby
unit test results to the console and to an XML log file. I found a
reference to the test-report gem, but it seems to have gone away. Has
something taken its place and I’ve just been unable to find it? Or am
I stuck writing my own?

Thanks again,

Mark

On Aug 8, 9:20 am, Mark S. [email protected] wrote:

The other thing I’ve been looking for is a way to output the Ruby
unit test results to the console and to an XML log file. I found a
reference to the test-report gem, but it seems to have gone away. Has
something taken its place and I’ve just been unable to find it? Or am
I stuck writing my own?

Thanks again,

Mark

Don’t get what you mean by an “XML log file” - and why XML? for
further parsing of the log results?
Anyway, if on Linux, getting the output both on the console and in a
file (as long as the format wanted in both is the same) is easy:

your_test_command | tee log_filename

That uses the Linux tee command (nice name, huh?) to make a copy of
its input both on stdout and to the given filename.

And if you’re on Windows and need it badly enough, install Cygwin to
be able to use tee there too.
Note: Cygwin may be a little unstable (as per what I’ve heard from
friends) and may (I don’t say will) crash in some way. Caveat
user …

Vasudev Ram
Dancing Bison Enterprises
Biz site: http://www.dancingbison.com
PDF creation/construction toolkit:
Conversion of other file formats to PDF download | SourceForge.net
Blog: http://jugad.livejournal.com

Well, with JUnit (and even PHPUnit) an XML log file is produced by
the unit tests. There are a few xsl and xslt stylesheets that can
convert those XML logs to HTML pages. That’s what we use to see the
results of our automated builds. They’re also easy to grep for
failures and errors. Our overall build process is driven by Ant and
Cygwin isn’t an option for us; I’ll ask our build guy if the “tee”
command is a viable approach for the automated builds though (all on
UNIX).

Still, an XML log file would be helpful. They’re also good for QA
organizations trying to track breakages and bugs over time.

Mark

On 8/8/07, Mark S. [email protected] wrote:

Well, with JUnit (and even PHPUnit) an XML log file is produced by
the unit tests. There are a few xsl and xslt stylesheets that can

Search the archive for ‘test unit xml’ and you’ll find several
solutions.

J.

Well I’ve been searching, and unfortunately the best solution that
used to exist (test-report) is gone, and I’m not comfortable tying
our tests to software that doesn’t exist anymore. Other solutions
seem to be written for use with specific libraries (RSpec for
example) and I don’t want to introduce extra dependencies when all I
need is a different logger.

So I’ve looked into writing my own; certainly the Console::TestRunner
class isn’t hard to understand and extend. The problem I’ve run into
is that the rake TestTask only has the options attribute available to
specify the test runner (t.options = “–runner=gtk”, for example) and
the list of available runners is baked into the Autorunners class. I
haven’t been able to add my custom runner to the list via the rake
file because rake invokes a new process to run the tests (which is
why the runner needs to be specified command-line-option-style).

At this point I’m looking at submitting a patch to Test::Unit with
the new test runner that I make. I have to say though, with a
language as dynamic as Ruby is, I’m surprised that the only clean
way of adding a new test runner is to add it to the Test::Unit
source; maybe I’m still too new though.

If I’m missing something, please let me know.

Mark

On 8/7/07, Mark S. [email protected] wrote:

Check out the ci-reporter rails plugin and gem.

Mark S. wrote:

Well, with JUnit (and even PHPUnit) an XML log file is produced by
the unit tests. There are a few xsl and xslt stylesheets that can
convert those XML logs to HTML pages. That’s what we use to see the
results of our automated builds. They’re also easy to grep for
failures and errors. Our overall build process is driven by Ant and
Cygwin isn’t an option for us; I’ll ask our build guy if the “tee”
command is a viable approach for the automated builds though (all on
UNIX).

Still, an XML log file would be helpful. They’re also good for QA
organizations trying to track breakages and bugs over time.

Mark

I have successfully generated the XML file with ci-reporter. However, I
am interested in the xsl and xslt stylesheets that convert XML logs to
HTML. How does that work?

With some googling and tinkering, I figured out how to write a xslt
stylesheet for test reporting. Here is the stylesheet:

<?xml version="1.0" encoding="ISO-8859-1"?>

<xsl:stylesheet version=“1.0”
xmlns:xsl=“XSLT Namespace”>

<xsl:template match=“/”>

<xsl:template match=“testsuite”>

Test Report:

Number of Tests:
Number of Failures:
Execution Time:
Number of Tests:

Test Status

Name Status Execution Time

<xsl:template match=“testcase”>

red

<xsl:template match=“failure”>

Awesome Matt, thanks! I’ll try it out once I get the ci-reporter
installed. I got pulled away on other things for the past week and am
just now getting back to looking at this.

Mark