GithubHelp home page GithubHelp logo

isabella232 / rubygems-test Goto Github PK

View Code? Open in Web Editor NEW

This project forked from rubygems/rubygems-test

0.0 0.0 0.0 1.69 MB

An attempt to replace the testing facility in rubygems via a test plugin.

License: Other

Ruby 100.00%

rubygems-test's Introduction

= rubygems-test - commands and facilities for automated rubygems testing and reporting.

== For users

This installs three major features:

* a 'gem test' command.
* the ability to test your gems on installation, and uninstall them if they fail testing.
* A facility to upload your test results to rubygems.org (coming soon, see http://github.com/bluepojo/gem-testers)

=== .gemrc

You can insert several things in your .gemrc to make things simpler. These all
live in the 'test_options' subsection, e.g.:

  test_options:
    auto_test_on_install: true 
    test_on_install: true 
    install_development_dependencies: true
    test_development_dependencies: false
    upload_results: false
    force_install: false
    force_uninstall_on_failure: false

All options are *false* by default. For some of them, if the value is unknown
or +false+, you will be prompted when it is required for testing.

The options:

auto_test_on_install:: runs the unit tests when 'gem install' is invoked.
test_on_install:: offer to test on install in general. 'auto_test_on_install' overrides this.
install_development_dependencies:: automatically install the development dependencies when testing. This is recommended.
test_development_dependencies:: recursively test dev dependencies installed by rubygems-test. This can significantly increase the time it takes to install a gem.
upload_results:: upload results to http://gem-testers.org.
upload_service_url:: Set to a URL, it will upload to that service instead.
force_install:: always install, even on test failures.
force_uninstall_on_failure:: force uninstall when tests fail.

== For gem developers

Want your gem to be testable? 

* Create (and add to your files section in your specification!) a '.gemtest' empty file. This is what signals the rubygems-test engine to process your gem as testable.
* Ensure 'rake test' works and doesn't wipe out filesystems, databases, etc. Move those tests to another task.
* Be sure to include your Rakefile in your gem, along with your tests.
* Be sure to note any development dependencies that will be required for executing your rakefile and your tests in your gemspec. They will be installed as a part of the testing process.  

== Note on Patches/Pull Requests
 
* Fork the project.
* Make your feature addition or bug fix.
* Add tests for it. This is important so I don't break it in a
  future version unintentionally.
* Commit, do not mess with rakefile, version, or history.
  (if you want to have your own version, that is fine but bump version in a commit by itself I can ignore when I pull)
* Send me a pull request. Bonus points for topic branches.

== Copyright

Copyright (c) 2010 Erik Hollensbe and Josiah Kiehl. See LICENSE for details.

rubygems-test's People

Contributors

drbrain avatar guillermo avatar postmodern avatar raggi avatar

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.