RubyMine 2019.1 Help

Testing Frameworks

RubyMine enables usage of the following testing frameworks:

  • Test::Unit is intended for unit testing and comes bundled with Ruby.

  • Shoulda is intended for unit testing, and becomes available in Ruby projects on attaching the shoulda gem. So doing, the Shoulda tests are added on to the Test::Unit framework.

  • RSpec. This testing tool supports BDD. RSpec becomes available in Ruby projects on attaching the rspec gem. For the Rails applications, rspec-rails gem is also required.

  • MiniTest becomes available on attaching the minitest-reporters gem. The minitests are added to the Test::Unit framework.

  • Cucumber. This testing tool supports BDD, and enables using features and scenarios written in a human-readable language, either English or any other language specified in the # language: comment. Cucumber becomes available in project upon installing and activating the cucumber gem.

Before you start working with the testing framework of your choice, make sure that the desired framework is installed on your machine. Refer to the framework documentation for the installation details.

For each of the supported testing frameworksDepending on a particular supported testing framework, RubyMine provides:

  • Code completion, aware of the specific testing framework.

  • Run/debug configurations.

  • Ability to generate missing tests and create test templates.

  • Ability to navigate between tests and test subjects.

  • Ability to run tests from within the IDE, and view test results in the test runner UI or in the console. The test results are shown on the Test Runner tab of the Run tool window.

  • Ability to run all tests or features in a directory, specific test classes, test cases or features, individual test methods or examples.

  • Code inspections.

  • Context-sensitive generators for the various types of tests.

  • Dedicated directories structure.

Refer to the section Performing Tests for the detailed description of the common testing procedures.

Last modified: 8 May 2019

See Also