Skip to content

Setup cypress #26

Open
Open
@malcolm-kee

Description

@malcolm-kee

Rationale

cypress is an end-to-end testing framework that is JS-centered, thus it is easy to used for JS developer.

With cypress, we can:

  • setup end-to-end testing to make sure our change will not impact website functionality
  • setup automatic accessibility auditing using cypress-axe.
  • provide opportunities for community members to write end-to-end tests.

Considerations

  1. As cypress is heavy, including it as devDependencies would cause setup project too heavy. I would like to suggest everyone to install cypress globally when they want to run the cypress tests. For CI, add manual step to run npm install cypress
  2. We can use start-server-and-test to start the site locally and then run the cypress against the dev server. For now, don't setup test against the production site yet. If you want to try, [this article] seems like a good reference.
  3. I've setup cypress testing in my personal website, you can refer how I do it. However, I've included cypress as devDependencies in that project, which is not what we want to do here.

Let's Pair Program

If you interested just comment on this issue, it's totally okay if you never contribute to any project. I can setup a screen-sharing with you to pair-program together.

Metadata

Metadata

Assignees

Labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions