Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 4.0
Info

TeamCity Rake runner supports Test::Unit, Test-Spec, Shoulda, RSpec, Cucumber test frameworks. It is compatible with Ruby interpreters installed using Ruby Version Manager (MRI Ruby, JRuby, IronRuby, REE, MacRuby, etc.) with rake 0.7.3 gem or higher.

In this section:

Table of Contents

...

Make sure to have Ruby interpreter (MRI Ruby, JRuby, IronRuby, REE, MacRuby, or etc) with rake 0.7.3 gem or higher (mandatory) and all necessary gems for your Ruby (or ROR) projects and testing frameworks installed on at least one build agent.
You can install several Ruby interpreters in different folders. On Linux/MacOS it is easier to configure using RVM. It is possible to install Ruby interpreter and necessary Ruby gems using Command Line build runner step. If you want to automatically configure agent requirements for this interpreters you need to register its paths in build agent configuration properties and then refer to such property name in Rake build runner configuration.
To install a gem execute:

...

Option

Description

Path to a Rakefile file

Enter Rakefile path if you don't want to use a default one. Specified path should be relative to the build checkout directory.

Rakefile content

Type in the Rakefile content instead of using existing Rakefile. The new Rakefile will created dynamically from the specified content before running Rake.

Working directory

Optional. Specify if differs from the build checkout directory.

Rake tasks

Enter tasks names separated by space character if you don't want to use 'default' task.
For example, 'test:functionals' or 'mytask:test mytask:test2'.

Additional Rake command line parameters

Specified parameters will be added to 'rake' command line. The command line will have the following format:

Code Block
ruby rake <Additional Rake command line parameters> <TeamCity Rake Runner options, e.g TESTOPTS> <tasks>

...

Option

Description

Use default Ruby

Use Ruby interpreter settings defined in Ruby environment configurator build feature settings or interpreter will be searched in the PATH.

Ruby interpreter path

Path to Ruby interpreter. Path cannot be empty. In this field you can use values of environment and system variables. For example:

Code Block
%env.I_AM_DEFINED_IN_BUILDAGENT_CONFIGURATION%

RVM interpreter

Specify here the RVM interpreter name and optionally a gemset configured on a build agent.
Note, that interpreter name cannot be empty. If gemset isn't specified the default one will be used.

...

Option

Description

Attached reporters

If you want TeamCity to display test results on the dedicated Tests tab of the Build Results page, select here the testing framework you use: Test::Unit, Test-Spec, Shoulda, RSpec or Cucumber.

Note

If you're using RSpec or Cucumber, make sure to specify here the user options defined in your build script, otherwise they will be ignored.

ExcerptXMLReportXMLReport

XML Report Processing

Select a report type to import. You only need to import tests reports, if the automatic tests reporting fails to detect your tests.

Option

Description

Report type

Select report format from a drop-down list. The following report formats are supported: PMD, Surefire, Ant JUnit, NUnit, Checkstyle and FindBugs.

Anchor
knownIssues
knownIssues

...

These options can be configured using system properties in Properties and Environment Variables Build Parameters section.

Option

Description

system.teamcity.rake.runner.gem.rake.version

Allows to specify which rake gem to use for launching rake build.

system.teamcity.rake.runner.gem.testunit.version

If your application doesn't use latest installed (in Ruby sdk) test-unit gem version please specify it here. Otherwise Test::Unit test reporter may try to load incorrect gem version and affect runtime behavior. If test-unit gem is installed but you application uses Test::Unit bundled in Ruby 1.8.x SDK please set version value to 'built-in'.

system.teamcity.rake.runner.gem.bundler.version

Launches bundler emulation for specified bundler gem version (the gem should be already installed on an agent.

system.teamcity.rake.runner.custom.gemfile

Customizes Gemfile if it isn't located in checkout directory root.

system.teamcity.rake.runner.custom.bundle.path

Sets BUNDLE_PATH if TeamCity doesn't fetch it correctly from Gemfile_<Gemfile containing _directorydirectory>/.bundle/config.

Rake support is implemented as an open-source plugin. For development links refer to the plugin's page.

...