Skip to content

Conversation

@avanslaars
Copy link

Cypress.io is an e2e testing tool that will be open sourced soon. I think the Elm community could benefit from such a tool and thought this would be a good place to make that introduction.

I took the liberty of writing some tests for this, just to show how straight-forward writing e2e tests is with Cypress.

Aside from adding some files, these tests don't require any other changes to this project. All the existing code and structure remains the same and the tests can be run with the standalone Cypress GUI. This avoids the need for any node modules or for a server component to be built-in to the project.

Cypress tests are readable and the docs are solid. The tests run very quickly and can be run during development, so once the Elm compiler is happy with the code, you can quickly verify that the full user experience is working as intended.

* `startSeeded` is a custom command that starts the app with seed data.
* Check out the source in ../support/commands.js
*/
cy.startSeeded()

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is cy a "Global" that gets "injected" by the Cypress test runner?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yup! Cypress exposes the cy and Cypress objects as globals in your tests.

@bahmutov
Copy link

As a representative of the Cypress.io team, I would love to see this merged in. We stand behind our OSS test runner and believe Elm community would benefit greatly from catching errors that can only be found when testing the entire application: misconfiguration, deployment errors, missing libraries, etc.

Especially since @rtfeldman got a Cypress 👕... there are no blockers 😉

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants