Estoy tratando de crear múltiples pruebas basadas en la cantidad de funciones en una matriz que paso, para poder tener un bloque de describe y crear pruebas a medida que crece nuestro proyecto.
He encontrado varios ejemplos ( aquí , ejemplos de aplicaciones del mundo real ), pero todos estos ejemplos crean una matriz simple sin invocar ningún comando de Cypress. Necesito pasar una serie de funciones que invocan comandos de Cypress ( NO Comandos personalizados) como cy.get()
//loginPageController.js export default class LoginPageController { thingOne() { cy.get('some things') expect(some assertion) } thingTwo() { cy.get('some other things') expect(another assertion) } getAllThings() { return [this.thingOne(), this.thingTwo()] } } //login.spec.js import LoginPageController from '../../support/Controllers/loginPageController' const lPC = new LoginPageController describe('Login Tests', function() { beforeEach(function() { cy.visit('myapp') }) lPC.getAllThings().forEach(function() { it('tries each scenario', function() { // do stuff }) }) The following error originated from your test code, not from Cypress. > Cannot call cy.get() outside a running test. This usually happens when you accidentally write commands outside an it(...) test.it.forEach(getAllTheThings)('it should do the things', function(){})before const lPC.getAllThings() = allThings que en realidad solo ejecuta la función con éxito en el beforecy.wrap(lPC.getAllThings()).as('allTheThings) (que probablemente no sea válido, pero en este momento solo estoy haciendo cambios)fixture pero .js no parece ser compatible actualmente y pasaré una serie de funciones, no un simple objeto JSON. Solo trato de mantener las cosas SECAS y solo escribo una describe que arroja tantas pruebas como funciones incluyo en ese lPC.getAllThings()