RubyMine 2022.2 Help

Run/debug configurations for tests

When you run tests for the first time, RubyMine automatically creates a corresponding RSpec or Test::Unit/Shoulda/MiniTest temporary configuration, which can be saved. If necessary, you can create the required test run/debug configuration manually from the predefined template.

Create a test configuration

Create a test configuration from the Project view

  1. In the Project view Alt+1, right-click a specific test file or a directory containing the required tests, for example, test, spec, or features.

  2. From the context menu, select Create 'All specs in: <directory name>' or Run 'All tests in: <directory name>' depending on the used testing framework.

    Create a test run configuration
  3. In the dialog that opens, specify the run/debug configuration parameters (RSpec or Minitest), apply changes and close the dialog.

Create a test configuration from the editor

  1. Open the test file in the editor and do one of the following:

    • Click the Run button on the gutter next to the required test or test class.

      Run a specific test
    • Place the caret at the required test or test class name and press Alt+Enter.

  2. Select Create 'RSpec: <test name>' or Create 'Minitest: <test name>' and press Enter.

  3. In the dialog that opens, specify the run/debug configuration parameters (RSpec or Minitest), apply changes and close the dialog.

Run/debug configuration: RSpec

Configure a newly created or existing RSpec run configuration on the Configuration tab:

Item

Description

Name

Specify the name of the current run/debug configuration.

Mode

Define the scope of tests to run:

  • All specs in a folder: Select this option to run all tests in a particular directory.

  • Spec script: Select this option to run a specific test.

  • Multiple specs: Select this option to run tests from multiple spec files.

Specs folder

Specify the fully qualified path to the directory that contains the desired specs. Alternatively, click the Browse button and select the specs directory in the dialog that opens.

This field is only available, when the All specs in folder option is selected.

File name mask

Specify the mask of the spec file name, for example, **/*_spec.rb.

This field is only available, when the All specs in folder option is selected.

Spec script

Specify the name of the script to be executed.

This field is only available, when the Spec script option is selected.

Specs

Specify the names of the desired specs. Alternatively, click the Browse button and select the specs in the dialog that opens.

This field is only available, when the Multiple specs option is selected.

Example names

Specify one or several names of the examples within the script to be executed. Use || to separate example names.

If no example is specified, all examples will be executed.

This field is only available, if either the Spec script or Multiple specs option is selected.

Runner options

Provide additional options to customize RSpec's behavior. Learn more about the available options from Command line.

'rspec' gem

Use this list to select the desired gem version, which will be used to run the tests. The list shows the versions that are available in the Ruby SDK. By default, the latest available version is taken.

Use custom RSpec runner script

Select this checkbox if you want to use an alternative spec runner. You can type the fully qualified path to the spec runner in the text field, or click the Browse button, and select the desired runner in the dialog that opens.

Use pre-load server

From the list, select the server to be used for executing scripts or examples.

Select None if you want to execute a script or example locally, without any server.

Refer to Spork DRb for details.

Output full backtrace

Select this checkbox to enable the --trace option.

Working directory

Specify the working directory used by the running task. For example, this option is in effect when the running script loads other scripts by relative paths.

Environment variables

Specify the list of environment variables as the name-value pairs, separated with semi-colons. Alternatively, click the Browse button to create variables and specify their values in the Environment Variables dialog.

Ruby arguments

Specify the command-line arguments to be passed to the Ruby interpreter.

When such a run/debug configuration is launched, RubyMine analyzes the running processes, and does one of the following, depending on the presence of the running Nailgun server:

  • If there is no running Nailgun server, or if there is a Nailgun server on a non-default port, or with a different gemset, then RubyMine suggests to specify the desired port number.

  • If a Nailgun server runs on the default port with the required gemset, RubyMine does nothing.

  • If a Nailgun server runs on a different port with the required gemset, then RubyMine suggests to specify the desired port number.

  • If a Nailgun server runs on the default port with a different gemset, then RubyMine deletes the --ng argument.

Classpath property is added to Nailgun settings.

Ruby SDK

Specify the desired Ruby interpreter. You can choose the project default Ruby SDK, or select a different one from the list of configured Ruby SDKs.

Run/debug configuration: Test::Unit/Shoulda/MiniTest

Configure a newly created or existing Test::Unit/Shoulda/MiniTest run configuration on the Configuration tab:

Item

Description

Name

Specify the name of the current run/debug configuration.

Mode

Define the scope of tests to run:

  • All tests in folder: Select this option to run all tests in a particular directory.

  • Test scripts: Select this option to run tests from one or several specified test files.

  • Test method: Select this option to run an individual method of a test class.

Test folder

Specify the fully qualified path to the directory that contains the desired tests. Alternatively, click the Browse button and select the test directory in the dialog that opens.

This field is only available, when the All tests in folder option is selected.

Test file name mask

Specify the mask for a test filename, for example: **/{*_test,test_*}.rb.

This field is only available, when the All tests in folder option is selected.

Ruby scripts

Specify one or multiple fully qualified paths to the desired tests. Alternatively, click the Browse button and select one or multiple test files in the dialog that opens.

This field is only available, when the Test scripts option is selected.

Ruby script

Specify the fully qualified path to the test that contains the method you want to run. Alternatively, click the Browse button and select the test file in the dialog that opens.

This field is only available, when the Test method option is selected.

Test name filter

Type a filtering expression or the name of a test method. The test name filter can be a regular expression.

This field is only available, when the Test method option is selected.

Use pre-load server

From the list, select the server to be used for executing scripts or examples.

Select None if you want to execute a script or example locally, without any server.

Refer to Spork DRb for details.

Runner options

Specify the options to be passed to the test runner.

Working directory

Specify the working directory used by the running task. For example, this option is in effect when the running script loads other scripts by relative paths.

Environment variables

Specify the list of environment variables as the name-value pairs, separated with semi-colons. Alternatively, click the Browse button to create variables and specify their values in the Environment Variables dialog.

Ruby arguments

Specify the command-line arguments to be passed to the Ruby interpreter.

When such a run/debug configuration is launched, RubyMine analyzes the running processes, and does one of the following, depending on the presence of the running Nailgun server:

  • If there is no running Nailgun server, or if there is a Nailgun server on a non-default port, or with a different gemset, then RubyMine suggests to specify the desired port number.

  • If a Nailgun server runs on the default port with the required gemset, RubyMine does nothing.

  • If a Nailgun server runs on a different port with the required gemset, then RubyMine suggests to specify the desired port number.

  • If a Nailgun server runs on the default port with a different gemset, then RubyMine deletes the --ng argument.

Classpath property is added to Nailgun settings.

Ruby SDK

Specify the desired Ruby interpreter. You can choose the project default Ruby SDK, or select a different one from the list of configured Ruby SDKs.

Run tests using a predefined configuration

To run the test(s) using the already created run/debug configuration, do one of the following:

  • Press Ctrl twice to invoke the Run Anything popup. Start typing the required configuration name, select it from the list, and press Enter.

  • Select the desired configuration on the toolbar and click Run Shift+F10.

  • Select Run | Run... Alt+Shift+F10 from the main menu, select the desired configuration from the list and press Enter.

Last modified: 09 August 2022