ローカルではうまく動くのにサーバに持っていった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から渡している環境変数がうまく渡せいないの原因でした。ログがなかったら発見するのにもっと時間がかかっていた思います。