未找到测试文件:使用 Mocha 使用 Typescript 测试安全规则时“测试”

Agu*_*ana 2 mocha.js firebase

我试图在 stackoverflow 中找到类似的问题,但没有人能解决我的问题。

我正在尝试使用 Typescript 和 Mocha 测试我的 firebase 安全规则,但我什至无法运行我的测试

这是我的项目目录

在此输入图像描述

我使用以下代码安装我的开发依赖项:

npm install chai mocha ts-node @types/chai @types/mocha --save-dev
Run Code Online (Sandbox Code Playgroud)

这是我的开发依赖项

 "devDependencies": {
    "@firebase/rules-unit-testing": "^1.2.5",
    "@types/chai": "^4.2.15",
    "@types/mocha": "^8.2.2",
    "@types/uuid": "^8.3.0",
    "@typescript-eslint/eslint-plugin": "^3.9.1",
    "@typescript-eslint/parser": "^3.8.0",
    "chai": "^4.3.4",
    "eslint": "^7.6.0",
    "eslint-config-google": "^0.14.0",
    "eslint-plugin-import": "^2.22.0",
    "mocha": "^8.3.2",
    "ts-node": "^9.1.1",
    "typescript": "^3.9.9"
  },
Run Code Online (Sandbox Code Playgroud)

这是我的脚本 npm

"scripts": {
    "test": "mocha --exit"
  },
Run Code Online (Sandbox Code Playgroud)

但是当运行时npm run test,从functions目录我有错误

错误:未找到测试文件:“测试”

我尝试过使用

mocha --require ts-node/register --watch-extensions ts 'test/**/*.ts'
Run Code Online (Sandbox Code Playgroud)

我仍然有同样的错误。我应该怎么办?

Agu*_*ana 5

我终于可以使用运行测试

mocha -r ts-node/register src/**/*.test.ts --timeout 60000 --exit
Run Code Online (Sandbox Code Playgroud)

不要忘记将 ts-node 安装为 dev dependentecy,请注意文件名应采用以下格式

myFileName.test.ts
Run Code Online (Sandbox Code Playgroud)