Using RSpec in Rails Applications
Using RSpec in Rails application requires
rspec-rails gem to be added to your project. So doing the dependent
rspec gem is added to the project automatically. When the
rspec-rails gem is added, the corresponding generator
rspec:install appears in the list of available generators.
IntelliJ IDEA supports
rspec-rails gem version 2.12.0 and higher.
When RSpec support is enabled in a Rails application, IntelliJ IDEA provides:
- Generation of RSpec testing infrastructure.
- RSpec-specific code completion:
- Usage of Zeus server.
- RSpec run/debug configuration
Depending on your particular version of Rails, different workflows are possible. If you are using Rails 3.0 and higher, it is recommended to use the bundler and specify
rspec-rails gem in the Gemfile. Thus, IntelliJ IDEA suggests the following workflow:
To use rspec, follow these general steps
- Make sure that the required gems are installed.
- In the Gemfile, add the following line:
- Generate the RSpec testing infrastructure. To do that, press Alt+Insert, choose
rspecgenerator name, and choose
rspec:installfrom the list:
In the Setup RSpec Support dialog box, specify the generator options. The respective script is executed, and displays its output in the console tab of the Run tool window. on the pop-up menu, start typing the
- Generate the test templates same way as the other Rails application elements.
- Run or debug your spec.
If you are using the bundler, make sure that in the RSpec run/debug configuration the checkbox Run the script in context of the bundle is selected.
Note that you can execute all tests in a folder, specific test script, or individual examples in a script.
- To execute all tests in a folder, in the Project tool window right-click the folder that contains specs, and choose on the context menu.
- To execute a test script, right-click the spec in the Project tool window, or open this spec in the editor and right-click somewhere outside individual examples. Then choose . on the context menu.
- To execute an individual example, open the desired spec in the editor, right-click the example to be executed, and choose .