Configuring Cypress and Rails

Let's configure Cypress for Rails in this lesson.

We need to manage a couple of Rails-specific setup issues before we can write our first test (sorry about all this setup; honestly, Cypress is easier in this respect than some of the 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.

Since 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.

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 1200+ tech skills courses.