Skip to content

Lets setup Nuxt 3 with Cypress

This is a quick guide on setting up Cypress End-to-End Testing with Nuxt 3.

I noticed this Github thread about users struggling to get Cypress working with Nuxt 3.

I found the setup straightforward and decided to share how to do it.

Initialize Nuxt project

bash
npx nuxi init nuxt-project
cd nuxt-project
npm install

Install + initialize Cypress

bash
npm install cypress --save-dev
npx cypress open

Running npx cypress open should spawn the cypress test runner. Click E2E Testing, then Chrome for the browser option, and then click Start E2E Testing in Chrome.

Cypress E2E Tests

During the Cypress initialization, the cypress folder should have been created.

By default, Cypress looks for any *.cy.* file within your cypress/e2e directory.

For simplicity's sake, I have the following test in cypress/e2e/spec.cy.js

js
// cypress/e2e/spec.cy.js
describe('template spec', () => {
  it('passes', () => {
    cy.visit('http://localhost:3000/')
  })
})

This test should pass while your Nuxt 3 application runs on port 3000. It just opens the browser and asserts it loaded.

And that's it. We now have Cypress E2E tests running against our Nuxt 3 application. Hope you enjoyed.

Here's the Github Repo for reference.