С моей точки зрения, вызов функции должен произойти на своем месте. Например:
cy.get('#foo').should('contain', 'bar');
cy.log('Result of function call: ' + someFunction());
Я ожидаю, что некоторая функция будет вызвана в cy.log. Вместо этого someFunction вызывается сразу после запуска моего теста, хотя позже cy.log вызывается в нужном месте. Проблема: someFunction не вызывается снова и не дает мне измененное состояние после некоторой модификации.
Я справился с этой проблемой, используя обещание "then", например:
cy.get('#foo').should('contain', 'bar')
.then(_ => cy.log('Result of function call: ' + someFunction()));
Но я не считаю это удовлетворительным, поскольку я не хочу путать несвязанные вызовы в своих цепях.
Есть ли правильный способ сделать это? Чего мне не хватает?