ローカルではうまく動くのにサーバに持っていったheadlessモードでうまく動かなくてなんで?と思いデバッグしようと思ってconsole.log
やcy.log
を突っ込んでも何も出力してくれなくて困ったんですが、こうすればheadlessモードでもcy.log
でログが表示されてウハウハです!
cypress/support/index.js
と cypress/plugins/index.js
の2つのファイルを触る必要があります。
cypress/support/index.js
Cypress.Commands.overwrite("log", (subject, message) =>
cy.task("log", message)
);
cypress/plugins/index.js
module.exports = (on, config) => {}
on("task", {
log(message) {
console.log(message);
return null;
},
});
};
この2点を追加するだけで、cy.log
でログがバリバリでてきます!
私はDockerから渡している環境変数がうまく渡せいないの原因でした。ログがなかったら発見するのにもっと時間がかかっていた思います。