Read more

How to: Run geordi in a single proccess with parallel test setup

Emanuel
October 10, 2018Software engineer at makandra GmbH

Geordi Show archive.org snapshot uses parallel_tests Show archive.org snapshot if available for running the test suite. To debug an application it is very unhandy to have multiple processes as your terminal I/O will not work as expected once a breakpoint is hit.

Illustration book lover

Growing Rails Applications in Practice

Check out our e-book. Learn to structure large Ruby on Rails codebases with the tools you already know and love.

  • Introduce design conventions for controllers and user-facing models
  • Create a system for growth
  • Build applications to last
Read more Show archive.org snapshot

Even parallel_tests support an option to enable a single process run, it is not possible to pass this option through geordi. But you can set the number of processes via ENV variable manually:

PARALLEL_TEST_PROCESSORS=1 bundle exec geordi cucumber

Alternatively, you can run the vanilla cucumber command with Geordi's VNC niceties with

geordi firefox b cucumber
geordi chrome b cucumber # Alias

The suggestion solution is only necessary if it is relevant to run all tests. Single tests are always run single threaded:

bundle exec geordi cucumber features/some.feature

Use cases:

  • Somewhere in the test run a deprecation warning is thrown and you want to find out which test throws this deprecation warning.

There are other workarounds, too:

  • Geordi with Rspec: geordi rspec spec/ (providing a path will lead to a run in a single process)
  • Rspec: bundle exec rspec
  • Cucumber: DISPLAY=:17 bundle exec cucumber (Just like geordi uses port 17 for VNC to not see a test browser)
Posted by Emanuel to makandra dev (2018-10-10 09:53)