Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Newer
Older
100644 75 lines (42 sloc) 4.877 kb
008a25a Graeme Mathieson Update documentation, take the liberty of bumping the release to 1.6.
mathie authored
1 CI::Reporter is an add-on to Test::Unit, RSpec and Cucumber that allows you to generate XML reports of your test, spec and/or feature runs. The resulting files can be read by a continuous integration system that understands Ant's JUnit report XML format, thus allowing your CI system to track test/spec successes and failures.
bfdcd21 Nick Sieger - Prepare for 1.0 release; last set of changes in current svn location
nicksieger authored
2
f02e44c Nick Sieger Creating new ci_reporter svn structure
nicksieger authored
3 == Dependencies
4
172f0a1 Nick Sieger Add Aslak's patch for SPEC_OPTS (new in RSpec 1.0.6)
nicksieger authored
5 CI::Reporter has one required dependency on Builder, but since many will have a viable version of Builder via Rails' ActiveSupport gem, Builder is not a direct dependency of the project at the moment. Instead, ensure that you have either the +builder+ or +activesupport+ gem installed before continuing. CI::Reporter will raise an exception at runtime if it cannot locate Builder.
674e745 Nick Sieger - Prepare for 1.2.4 release
nicksieger authored
6
bfdcd21 Nick Sieger - Prepare for 1.0 release; last set of changes in current svn location
nicksieger authored
7 == Installation
8
582f9f1 Nick Sieger - Prepare for 1.2 release
nicksieger authored
9 CI::Reporter is available as a gem. To install the gem, use the usual gem command:
bfdcd21 Nick Sieger - Prepare for 1.0 release; last set of changes in current svn location
nicksieger authored
10
11 gem install ci_reporter
12
13 To use CI::Reporter as a Rails plugin, first install the gem, and then install the plugin as follows:
14
15 script/plugin install http://svn.caldersphere.net/svn/main/plugins/ci_reporter
16
17 == Usage
18
172f0a1 Nick Sieger Add Aslak's patch for SPEC_OPTS (new in RSpec 1.0.6)
nicksieger authored
19 CI::Reporter works best with projects that use a +Rakefile+ along with the standard <code>Rake::TestTask</code> or <code>Spec::Rake::SpecTask</code> tasks for running tests or examples, respectively. In this fashion, it hooks into <code>Test::Unit</code> or +RSpec+ using environment variables recognized by these custom tasks to inject the CI::Reporter code into the test or spec runs. If you're using the Rails plugin, step 1 is unnecessary; skip to step 2.
bfdcd21 Nick Sieger - Prepare for 1.0 release; last set of changes in current svn location
nicksieger authored
20
21 1. To use CI::Reporter, simply add the following lines to your Rakefile:
22
23 require 'rubygems'
24 gem 'ci_reporter'
008a25a Graeme Mathieson Update documentation, take the liberty of bumping the release to 1.6.
mathie authored
25 require 'ci/reporter/rake/rspec' # use this if you're using RSpec
26 require 'ci/reporter/rake/cucumber' # use this if you're using Cucumber
bfdcd21 Nick Sieger - Prepare for 1.0 release; last set of changes in current svn location
nicksieger authored
27 require 'ci/reporter/rake/test_unit' # use this if you're using Test::Unit
28
008a25a Graeme Mathieson Update documentation, take the liberty of bumping the release to 1.6.
mathie authored
29 2. Next, either modify your Rakefile to make the <code>ci:setup:rspec</code>, <code>ci:setup:cucumber</code> or <code>ci:setup:testunit</code> task a dependency of your test tasks, or include them on the Rake command-line before the name of the task that runs the tests or specs.
bfdcd21 Nick Sieger - Prepare for 1.0 release; last set of changes in current svn location
nicksieger authored
30
31 rake ci:setup:testunit test
32
008a25a Graeme Mathieson Update documentation, take the liberty of bumping the release to 1.6.
mathie authored
33 Report files are written, by default, to the <code>test/reports</code>, <code>features/reports</code> or <code>spec/reports</code> subdirectory of your project. If you wish to customize the location, simply set the environment variable CI_REPORTS (either in the environment, on the Rake command line, or in your Rakefile) to the location where they should go.
cbe1c35 Nick Sieger updated documentation w/ mention of CI_REPORTS
nicksieger authored
34
bfdcd21 Nick Sieger - Prepare for 1.0 release; last set of changes in current svn location
nicksieger authored
35 == Advanced Usage
36
35308f1 Nick Sieger Move stub.rake to top directory, and update release notes and documentat...
nicksieger authored
37 If you don't have control over the Rakefile or don't want to modify it, CI::Reporter has a substitute rake file that you can specify on the command-line. It assumes that the main project rake file is called +Rakefile+ and lives in the current directory. Run like so:
38
39 rake -f GEM_PATH/stub.rake ci:setup:testunit test
40 rake -f GEM_PATH/stub.rake ci:setup:rspec spec
008a25a Graeme Mathieson Update documentation, take the liberty of bumping the release to 1.6.
mathie authored
41 rake -f GEM_PATH/stub.rake ci:setup:cucumber features
35308f1 Nick Sieger Move stub.rake to top directory, and update release notes and documentat...
nicksieger authored
42
cbe1c35 Nick Sieger updated documentation w/ mention of CI_REPORTS
nicksieger authored
43 If for some reason you can't use the above technique to inject CI::Reporter (e.g., you're not using Rake), you'll have to do one of these:
bfdcd21 Nick Sieger - Prepare for 1.0 release; last set of changes in current svn location
nicksieger authored
44
45 1. If you're using <code>Test::Unit</code>, ensure the <code>ci/reporter/rake/test_unit_loader.rb</code> file is loaded or required at some point before the tests are run.
008a25a Graeme Mathieson Update documentation, take the liberty of bumping the release to 1.6.
mathie authored
46
bfdcd21 Nick Sieger - Prepare for 1.0 release; last set of changes in current svn location
nicksieger authored
47 2. If you're using +RSpec+, you'll need to pass the following arguments to the +spec+ command:
008a25a Graeme Mathieson Update documentation, take the liberty of bumping the release to 1.6.
mathie authored
48
bfdcd21 Nick Sieger - Prepare for 1.0 release; last set of changes in current svn location
nicksieger authored
49 --require GEM_PATH/lib/ci/reporter/rake/rspec_loader
50 --format CI::Reporter::RSpec
51
008a25a Graeme Mathieson Update documentation, take the liberty of bumping the release to 1.6.
mathie authored
52 3. If you're using Cucumber, you'll need to cheat slightly so that Cucumber's step definition autoloading will still work. Instead of calling the +cucumber+ script directly, run:
53
54 ruby -r GEM_PATH/lib/ci/reporter/rake/cucumber_loader -S cucumber --format CI::Reporter::Cucumber
55
126c307 Nick Sieger - Prepping 1.2.1 release
nicksieger authored
56 There's a bit of a chicken and egg problem because rubygems needs to be loaded before you can require any CI::Reporter files. If you cringe hard-coding a full path to a specific version of the gem, you can also copy the +rspec_loader+ file into your project and require it directly -- the contents are version-agnostic and are not likely to change in future releases.
57
a26f68c Nick Sieger 1.2.2 release: CI_CAPTURE to control stdout/stderr capture
nicksieger authored
58 == Environment Variables
59
60 * +CI_REPORTS+: if set, points to a directory where report files will be written.
61 * +CI_CAPTURE+: if set to value "off", stdout/stderr capture will be disabled.
62
172f0a1 Nick Sieger Add Aslak's patch for SPEC_OPTS (new in RSpec 1.0.6)
nicksieger authored
63 == Source
64
6652f76 Nick Sieger Update source location README
nicksieger authored
65 You can get the CI::Reporter source using Git, in any of the following ways:
172f0a1 Nick Sieger Add Aslak's patch for SPEC_OPTS (new in RSpec 1.0.6)
nicksieger authored
66
6652f76 Nick Sieger Update source location README
nicksieger authored
67 git clone http://git.caldersphere.net/ci_reporter.git
68 git clone git://github.com/nicksieger/ci_reporter.git
69
70 You can also download a tarball of the latest CI::Reporter source at http://github.com/nicksieger/ci_reporter/tree/master.
172f0a1 Nick Sieger Add Aslak's patch for SPEC_OPTS (new in RSpec 1.0.6)
nicksieger authored
71
126c307 Nick Sieger - Prepping 1.2.1 release
nicksieger authored
72 == License
73
47fb8fa Nick Sieger Prepare for 1.5.2 release
nicksieger authored
74 This software is released under an MIT license. For details, see the LICENSE.txt file included with the distribution. The software is copyright (c) 2006-2007 Nick Sieger <nicksieger@gmail.com>.
Something went wrong with that request. Please try again.