ใน Cypress นั้นจะ build in Mocha มาในตัวอยู่แล้ว ดังนั้น ถ้าหากเราต้องการที่จะออก Report เราสามารถเข้าไปดูได้ใน Mocha Report ได้เลย
วิธีการตั้งค่า
เราจะตั้งค่า report ในไฟล์ cypress.config.ts
โดยเพิ่มโค๊ดลงไปแบบนี้
npm i -D mochawesome
หรือ
yarn add -D mochawesome
install mochawesome
import { defineConfig } from "cypress";
import path from "path";
import { NormalModuleReplacementPlugin } from "webpack";
export default defineConfig({
reporter: 'mochawesome',
component: {
devServer: {
framework: "next",
bundler: "webpack",
},
},
});
cypress.config.ts
หากต้องการ custom report ให้เพิ่ม options เข้าไป
import { defineConfig } from "cypress";
import path from "path";
import { NormalModuleReplacementPlugin } from "webpack";
export default defineConfig({
reporter: 'mochawesome',
reporterOptions: {
reportDir: "reports",
reportFilename: "[status]-[name]",
json: false,
html: true,
quiet: true,
},
component: {
devServer: {
framework: "next",
bundler: "webpack",
},
},
});
cypress.config.ts
หากเราต้องการใช้งาน report engine ตัวอื่น ก็สามารถ เปลี่ยน reporter: '...'
และ reporterOptions
ได้เลยตามที่ต้องการ
และเราสามารถ merge ไฟล์ report ได้ ด้วยการใช้ mochawesome-merge สามารถเข้าไปดูเพิ่มเติมได้ที่ https://www.npmjs.com/package/mochawesome-merge
mocha-junit-reporter
หากต้องการ reports ที่อยู่ในรูปแบบ junit ให้ใช้ mocha-junit-reporter
npm i -D mocha-junit-reporter
หรือ
yarn add -D mocha-junit-reporter
Install package
ปรับแก้ Config ใน cypress.config.ts
import { defineConfig } from 'cypress'
export default defineConfig({
reporter: 'mocha-junit-reporter',
reporterOptions: {
testsuitesTitle: true,
suiteTitleSeparatedBy: '.',
mochaFile: './reports/report-[hash].xml',
useFullSuiteTitle: true
},
component: {
devServer: {
framework: 'next',
bundler: 'webpack'
}
}
})
cypress.config.ts
เท่านี้เราก็สามารถออก reports แบบ junit ได้แล้ว