0.15
No release in over 3 years
Low commit activity in last 3 years
There's a lot of open issues
Minitest Junit XML results that CircleCI can read.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

~> 1.14
>= 2.0.0
~> 1.7.1
~> 12.0.0
>= 2.4.2

Runtime

>= 5.0.6
 Project Readme

minitest-ci¶ ↑

<img src=“https://circleci.com/gh/circleci/minitest-ci.svg?style=svg” alt=“Circle CI” />

DESCRIPTION:¶ ↑

Minitest reporter plugin for CircleCI.

This gem was made possible by YP.com

Records test results and generates XML files at the end of the test run.

These results can be plugged into, for example, Hudson or Jenkins. This format is also the default used by CircleCI.

USAGE:¶ ↑

In order to use this gem, add it to your Gemfile:

gem "minitest-ci"

To make integration with CircleCI easier, make sure you have a “:test” task defined. You can do this by simply adding the following to your Rakefile:

require 'rake/testtask'

Rake::TestTask.new do |t|
  t.pattern = "test/test_*.rb"
end

task :default => :test

You should be on your way to continuous testing with Minitest and CircleCI!

For more complicated setups, see below.

Custom setup¶ ↑

To configure the test output folder, use the “–ci-dir=” option, setting it in TESTOPTS. On CircleCI, you might want to use something like this in your circle.yml:

machine:
  environment:
    TESTOPTS: "--ci-dir=$CIRCLE_TEST_REPORTS/reports"
test:
  override:
    - bundle exec rake test:
        parallel: true
        files:
          - test/**/*.rb

Alternatively, you can add the following code to your test runner setup:

# test/helper.rb
require 'minitest'
require 'minitest/autorun'
require 'minitest/ci'

if ENV["CIRCLECI"]
  Minitest::Ci.report_dir = "#{ENV["CIRCLE_TEST_REPORTS"]}/reports"
end

class MiniTest::Test
  # include other helpers, etc
end

NOTE: The report directory is cleaned between test runs. To disable:

# test/helper.rb
Minitest::Ci.clean = false

# Rakefile (optional, but recommended)
task :ci_cleanup do
  require 'minitest/ci'
  Minitest::Ci.new.start
end
task :test => %w[ci_cleanup test:one test:two]

To configure report filename, use the ‘report_name` option like

Minitest::Ci.new $ci_io, { :report_name => :sha1 }

or like

machine:
  environment:
    TESTOPTS: "--report-name=sha1"

Supported options are: ‘:test_name` (default), `:sha1`, or a `Proc` (not supported through ENV var)

REQUIREMENTS:¶ ↑

  • Minitest > version 5