Recherche de site Web

reactjs - Test de composants Cypress pour la configuration personnalisée du serveur de développement de Microbundle (Rollup) React


J'essaie de mettre en place une stratégie de test de composants pour un nouveau dépôt React sur lequel nous travaillons ici.

D'après la documentation de Cypress, il n'y a aucun détail utile sur la façon de configurer les tests de composants en utilisant un serveur de développement personnalisé comme celui-ci.

import { defineConfig } from 'cypress'

export default defineConfig({
  component: {
    devServer(cypressConfig) {
      // return dev server instance or a promise that resolves to
      // a dev server instance here
    },
  },
})

Mon fichier package.json ressemble à celui-ci :

  "source": "src/index.ts",
  "exports": {
    "require": "./dist/index.cjs",
    "default": "./dist/index.modern.js"
  },
  "main": "./dist/index.cjs",
  "module": "./dist/index.module.js",
  "unpkg": "./dist/index.umd.js",
  "typings": "dist/index",
  "scripts": {
    "build": "microbundle",
    "dev": "microbundle watch",
    "pretty": "prettier --config .prettierrc 'src/**/*.(ts|tsx)' --write",
    "test": "jest",
    "ci:start-example": "cd example; npm start",
    "cy:open": "npx cypress open"
  },
  "dependencies": {
    "react-style-object-to-css": "^1.1.2"
  },
  "peerDependencies": {
    "react": "16 - 18",
    "react-dom": "16 - 18"
  },
  "devDependencies": {
    "@testing-library/cypress": "^8.0.3",
    "@types/jest": "^28.1.6",
    "@types/react": "^18.0.15",
    "@types/react-dom": "^18.0.6",
    "@typescript-eslint/eslint-plugin": "^5.31.0",
    "@typescript-eslint/parser": "^5.31.0",
    "cypress": "^10.3.1",
    "eslint": "^8.20.0",
    "eslint-config-prettier": "^8.5.0",
    "eslint-plugin-prettier": "^4.2.1",
    "jest": "^28.1.3",
    "microbundle": "^0.15.0",
    "prettier": "^2.7.1",
    "ts-jest": "^28.0.7",
    "typescript": "^4.7.4"
  },
  "files": [
    "dist"
  ]
}

Y a-t-il quelqu'un qui rencontre le même problème avec les serveurs de développement personnalisés ? Je ne suis pas très familier avec microbundle et la configuration de cela par rapport à webpack ou vite. J'apprécierais toute aide s'il vous plaît !