How To Run Unit Tests With Cypress.io?
I have been using Cypress.io to run end-to-end tests. Recently, I have been using it to run unit tests as well. However, I have some issues with some small helper functions that I
Solution 1:
You can use tasks to execute node code. In your plugins.js
create the task with the arguments you need, returning the calculated value:
on('task', {
// you can define and require this elsewheregetTicketBySummary('getTicketBySummary', { issues, summaryTitle }) {
return issues.data.issues.filter(...);
}
})
}
In your test, execute the task via cy.task
:
it('returns an array containing a found ticket summary', () => {
cy.task('getTicketBySummary', {
issues: mockedTickets,
summaryTitle: 'This is ticket number 1',
}).then(result => {
expect(result).eq(mockedTickets.data.issues[0]);
})
});
That being said, getTicketBySummary
looks like a pure function that doesn't depend on fs
. Perhaps separate helper functions that actually need node
as that could avoid need cy.task
. If you want to be able to import commonjs (require) via ES6 import/export you would usually need to setup build tools (babel/rollup/etc) to be able to resolve that effectively.
Hopefully that helps!
Post a Comment for "How To Run Unit Tests With Cypress.io?"