Configuring Cypress and Rails

Let's install and configure Cypress.

We need to manage a couple of Rails-specific setup issues before we can write our first test. While it may seem like a lot of setup, Cypress is actually easier in this aspect than other testing tools. Specifically, we need to have the cypress-rails gem start its own instance of a Rails server that points to our test database rather than our development database, and we need to seed that server with data.

Cypress configuration

Because Cypress is not really part of the Rails system, it doesn’t automatically start up any Rails-specific process, which is where the cypress-rails gem comes in. The cypress-rails gem automatically starts up a Rails server at a port that we determine. We’ll use an environment variable to specify the number of the port, and we’re going to use the dotenv gem to manage that variable.

Environment variables

The dotenv gem lets us specify arbitrary environment variables in a .env file and loads them as part of our environment setup. Cypress has four configuration variables, of which the only one we care about is CYPRESS_RAILS_PORT:

Get hands-on with 1400+ tech skills courses.