freeCodeCamp/docs/how-to-add-cypress-tests.md

2.3 KiB

How to add Cypress tests

When making changes to JavaScript, CSS, or HTML which could change the functionality or layout of a page, it's important to add corresponding Cypress integration tests.

To learn how to write Cypress tests, or 'specs', please see Cypress' official documentation.

Where to Add a Test

  • Cypress tests are in the ./cypress directory.

  • Cypress tests for a curriculum module are in the corresponding curriculum directory, i.e. cypress/integration/learn/responsive-web-design/basic-css/index.js.

How to Run Tests

[!NOTE] If using Gitpod, please see Cypress-Gitpod Setup

1. Ensure that MongoDB and Client Applications are Running

2. Run the Cypress Tests

To run tests against production builds, replace dev with prd below.

  • To run all tests in the ./cypress directory:

    pnpm run cypress:dev:run
    
  • To run a single test:

    pnpm run cypress run --spec=cypress/<path_to_test_file>
    

    For example:

    pnpm run cypress run --spec=cypress/e2e/default/landing.ts
    
  • To create a development build, start the development server, and run all existing cypress end-to-end tests:

    pnpm run e2e:dev:run
    

Cypress-Gitpod Setup

1. Ensure Development Environment is Running

If starting the Gitpod environment did not automatically develop the environment:

pnpm run create:shared
  • Seed the database
pnpm run seed
  • Develop the server and client
pnpm run develop

2. Install Cypress Build Tools

pnpm run cypress:install-build-tools
  • When prompted in the terminal, select your keyboard layout by language/area

Now, Cypress can be run