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
shouldagem. 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
rspecgem. For the Rails applications,
rspec-railsgem 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
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.
Testing frameworks support
For each of the supported testing frameworks, 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.