GithubHelp home page GithubHelp logo

active_support-deprecation_test_helper's Introduction

ActiveSupport::DeprecationTestHelper

A test helper that removes ActiveSupport::Deprecation noise from being interlaced in your test output. Instead this gem collects any and all deprecation warnings that occur during your tests, and succinctly reports them at the end of the test run.

Installation

Add this line to your application's Gemfile:

gem 'activesupport-deprecation_test_helper'

And then execute:

$ bundle

Or install it yourself as:

$ gem install activesupport-deprecation_test_helper

Usage

Basic Configuration

In order to capture and report all deprecation warnings at the end of the test run, use one of the following methods for configuration.

Configuring for Supported Test Frameworks

Currently the following test frameworks are supported out of the box:

  • Minitest (:minitest)
  • RSpec (:rspec)

In order to configure you test runs in Minitest add the following to your test_helper.rb

require 'active_support/deprecation_test_helper'
ActiveSupport::DeprecationTestHelper.configure(:minitest)

And for RSpec add the following to your spec_helper.rb after your RSpec.configure block:

require 'active_support/deprecation_test_helper'
ActiveSupport::DeprecationTestHelper.configure(:rspec)

Configuring for Unsupported Test Frameworks

If you are using an unsupported test framework and would like to use this gem, you'll need to add the following pieces to your test setup.

  1. Include ActiveSupport::DeprecationTestHelper into ActiveSupport::Deprecation using the following
require 'active_support/deprecation_test_helper'
ActiveSupport::Deprecation.include ActiveSupport::DeprecationTestHelper
  1. Report all unexpected warnings at the end of the test run with
ActiveSupport::DeprecationTestHelper.report_unexpected_warnings

Expected Deprecation Warnings

If you have some deprecations warnings that you're not going to resolve, and would like to omit them from the test run report, you can do the following

ActiveSupport::DeprecationTestHelper.allow_warning("The full deprecation warning string")

Or you can use a regex if you would like to match a series of deprecation warnings

ActiveSupport::DeprecationTestHelper.allow_warning(/will be removed from Rails 6\.0/)

Development

After checking out the repo, run bin/setup to install dependencies. Then, run rake spec to run the tests. You can also run bin/console for an interactive prompt that will allow you to experiment.

To install this gem onto your local machine, run bundle exec rake install. To release a new version, update the version number in version.rb, and then run bundle exec rake release, which will create a git tag for the version, push git commits and tags, and push the .gem file to rubygems.org.

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/Invoca/active_support-deprecation_test_helper.

active_support-deprecation_test_helper's People

Contributors

jebentier avatar dcaddell avatar gmcgilvray avatar dependabot[bot] avatar

Watchers

Robert Prince avatar James M. Buehring avatar John Breen avatar  avatar Kenneth Mitchner avatar James Cloos avatar Tim Dupree avatar Ryan Bales avatar Dan Lloyd avatar Brandon Bell avatar Muzafar Umarov avatar Jasen Hall avatar Oleksiy Blavat avatar Christina Lesnick avatar Bobby Kearns avatar Paul Thomas avatar Christian Parkinson avatar Iryna Shakun avatar Gabriel Kent avatar Luis Aragon avatar matt avatar Daniel Pramann avatar Bryan Meeker avatar Keith Bryant avatar Pooja V Kadam avatar Brendan Brown avatar Mateo Wang avatar Michael Casciato avatar Carson Hoff avatar Jenn Chu avatar  avatar Anneke McGrady avatar Marissa avatar Khalil Shakir avatar

Forkers

isabella232

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.