【问题标题】:Firebase Functions TypeScript unit testing devDependenciesFirebase 函数 TypeScript 单元测试 devDependencies
【发布时间】:2018-11-13 15:16:17
【问题描述】:

遵循此处的指南:https://firebase.google.com/docs/functions/unit-testing 我正在尝试为我的 TS 函数编写单元测试。 这是我的 package.json:

{
  "name": "functions",
  "scripts": {
    "lint": "tslint --project tsconfig.json",
    "build": "tsc",
    "serve": "npm run build && firebase serve --only functions",
    "shell": "npm run build && firebase functions:shell",
    "start": "npm run shell",
    "deploy": "firebase deploy --only functions",
    "logs": "firebase functions:log",
    "test": "mocha --reporter spec"
  },
  "main": "lib/index.js",
  "dependencies": {
    "@types/algoliasearch": "^3.27.0",
    "@types/axios": "^0.14.0",
    "@types/nodemailer": "^4.6.0",
    "@types/stripe": "^5.0.11",
    "algoliasearch": "^3.27.1",
    "axios": "^0.18.0",
    "firebase-admin": "~5.12.0",
    "firebase-functions": "^1.0.3",
    "nodemailer": "^4.6.4",
    "stripe": "^5.8.0",
    "webpack": "^4.7.0"
  },
  "devDependencies": {
    "@types/node": "^9.6.6",
    "firebase-functions-test": "^0.1.2",
    "mocha": "^5.2.0",
    "ts-loader": "^4.2.0",
    "tslint": "^5.8.0",
    "typescript": "^2.8.3",
    "webpack-cli": "^2.1.2",
    "webpack-node-externals": "^1.7.2"
  },
  "private": true
}

我有 1 个问题和 1 个问题。

问题: 我无法导入 firebase-functions-test 在我的 index.test.ts 文件中。 它仅在依赖项中而不是在 devDependencies 中寻找它... (将其添加到依赖项中即可解决)。

问题: 我可以将所有 @types 移动到 devDependencies 吗?

谢谢。

【问题讨论】:

    标签: unit-testing typescript firebase dependencies google-cloud-functions


    【解决方案1】:

    如果我是对的,你可能会遇到类似的错误

    模块 'firebase-functions-test' 在 package.json 中未列为依赖项

    实际上这是因为您启用了 tslint rule no-implicit-dependencies。您可以禁用它,然后在单元测试中导入 devDependencies 时不会出错。

    【讨论】:

      【解决方案2】:

      你可以改变set tslint来考虑dev,

      {
      ...
      "rules": {
          "no-implicit-dependencies": [true, "dev"],
          ...
      }
      

      见https://github.com/houndci/hound/issues/1522#issuecomment-415760094

      【讨论】:

        猜你喜欢
        • 2019-04-13
        • 2022-08-04
        • 1970-01-01
        • 2018-07-06
        • 2018-02-24
        • 2021-07-16
        • 2021-04-02
        • 2016-12-30
        • 1970-01-01
        相关资源
        最近更新 更多