Running test suits sometimes involves overheads, because every time a test suit is executed, the whole environment (for example, the entire Rails environment for Rails applications) should be reloaded. You can avoid it using the Spork DRb server, which loads the environment only once.
With the Spork DRb server running in the background, you have a choice to execute any testing script using the Spork DRb server, or locally.
In this section:
- Launching Spork DRb server
- Running test scripts with Spork DRb server
- Debugging tests under Spork DRb
- Managing Spork DRb server
- Prior to launching Spork DRb server, make sure spork gem, and the corresponding testing gems (rspec-rails, cucumber, cucumber-rails, etc.) are used in your application.
- spork gem is added to the Gemfile.
- On the main menu, choose .
- In the Spork DRb Launch Options dialog box, select the desired testing framework, and click Run.
If you are going to use spork for the first time in your project, launch the action with the Perform bootstrap check box selected. Thus Spork will patch the testing scripts.
The Spork DRb server starts in a separate tab of the Run tool window.
- Make sure that Spork DRb server is launched using RubyMine and is running in the background.
- Run a test script, or one of its examples. Note that the option Spork DRb is automatically selected in the corresponding run configuration. If you want to run this test locally, you have to select the option None.
- Make sure the breakpoints are set in the test script you want to debug.
- On the main toolbar, click the run/debug configuration selector, and choose .
- In the Run/Debug Configurations dialog box, create run/debug configuration for Spork DRb server. Refer to the section Creating and Editing Run/Debug Configurations for detailed description of the procedure.
- Launch Spork DRb in the debug mode. To do that, with the Spork DRb run/debug configuration selected, click , or press Shift+F9Shift+F9Shift+F9Shift+F9Shift+F9Alt+F5Ctrl+F5Shift+Alt+D or Shift+F9Shift+F9Control DShift F9Command F11Control D.
- With the Spork DRb server running in the debug mode, run the desired test script.
Note that if you debug a test script, it will be executed without Spork DRb server.
Managing Spork DRb server
Refer to the description of the Run tool window. In particular, use the following buttons:
- - stop the Spork DRb server without closing its tab in the Run tool window.
- - close the Spork DRb server tab.
- - rerun Spork DRb server in the same tab.
- RubyMine creates a temporary run/debug configuration for Spork DRb server. Later you can change this run/debug configuration as required, save it as permanent, and use it to launch the server.
- If you are using TeamCity, avoid overhead by adding the following statement into
- Spork DRb server doesn't work with Ruby 2.0.
- 6.0+If both Zeus and Spork DRb servers are running simultaneously, it is Zeus that gets priority.