首页 > 解决方案 > 测试:由于 firebase 和 bootstrap 导致单元失败。我如何导入这些?

问题描述

我尝试编辑 vue.config.js 但未能解决问题:

这是我的package.json

    {
      "name": "tp-health-test",
      "version": "0.1.0",
      "private": true,
      "scripts": {
        "serve": "vue-cli-service serve",
        "build": "vue-cli-service build",
        "lint": "vue-cli-service lint",
        "test:unit": "vue-cli-service test:unit"
      },
      "dependencies": {
        "axios": "^0.18.0",
        "bootstrap": "^4.3.1",
        "bootstrap-vue": "^2.0.0-rc.19",
        "chart.js": "^2.8.0",
        "firebase": "^5.11",
        "register-service-worker": "^1.6.2",
        "vue": "^2.6.10",
        "vue-chartjs": "^3.4.2",
        "vue-class-component": "^7.1.0",
        "vue-property-decorator": "^8.1.1",
        "vue-router": "^3.0.6",
        "vue-slider-component": "^3.0.31",
        "vuefire": "^2.0.0-alpha.24",
        "vuejs-datepicker": "^1.5.4",
        "vuex": "^3.1.1",
        "vuex-map-fields": "^1.3.4"
      },
      "devDependencies": {
        "@types/chai": "^4.1.0",
        "@types/mocha": "^5.2.4",
        "@vue/cli-plugin-pwa": "^3.7.0",
        "@vue/cli-plugin-typescript": "^3.7.0",
        "@vue/cli-plugin-unit-mocha": "^3.7.0",
        "@vue/cli-service": "^3.7.0",
        "@vue/test-utils": "1.0.0-beta.29",
        "chai": "^4.1.2",
        "typescript": "^3.4.5",
        "vue-template-compiler": "^2.6.10"
      }
    }

终端输出:

警告:这是一个以浏览器为目标的 Firebase 包,但它似乎是在 Node 环境中运行的。如果在 Node 环境中运行,请确保您使用的"main"package.json.

如果您使用的是 Webpack,您可以指定"main"为第一项 "resolve.mainFields"https ://webpack.js.org/configuration/resolve/#resolvemainfields

如果使用 Rollup,请使用rollup-plugin-node-resolve插件并设置"module" 为 false 和"main"true: https ://github.com/rollup/rollup-plugin-node-resolve

RUNTIME EXCEPTION  Exception occurred while loading your tests

TypeError: Cannot read property 'stringify' of undefined
    at Module../node_modules/@firebase/webchannel-wrapper/dist/index.esm.js (/Users/TP/tp-health-test/dist/webpack:/node_modules/@firebase/webchannel-wrapper/dist/index.esm.js:21:1)
    at __webpack_require__ (/Users/TP/tp-health-test/dist/webpack:/webpack/bootstrap:25:1)
    at Module../node_modules/@firebase/firestore/dist/index.esm.js (/Users/TP/tp-health-test/dist/webpack:/node_modules/@firebase/firestore/dist/index.esm.js:1:1)
    at __webpack_require__ (/Users/TP/tp-health-test/dist/webpack:/webpack/bootstrap:25:1)
    at Module../node_modules/firebase/firestore/dist/index.esm.js (/Users/TP/tp-health-test/dist/webpack:/node_modules/firebase/firestore/dist/index.esm.js:1:1)
    at __webpack_require__ (/Users/TP/tp-health-test/dist/webpack:/webpack/bootstrap:25:1)
    at Module../src/main.ts (/Users/TP/tp-health-test/dist/webpack:/src/main.ts:1:1)
    at __webpack_require__ (/Users/TP/tp-health-test/dist/webpack:/webpack/bootstrap:25:1)

标签: unit-testingvue.jsmocha.js

解决方案


推荐阅读