停止 Jest 对 TS 文件运行测试,并且仅对 JS 文件运行测试

Don*_*sII 2 javascript unit-testing typescript jestjs

我无法使用 Jest,npm test在我的程序中使用命令停止对我的 TS 文件运行测试。我只想在 JS 文件上运行它们。

 PASS  Views/Shared/Global.unit.test.js (14.83s)
 FAIL  Views/Shared/Global.unit.test.ts
Run Code Online (Sandbox Code Playgroud)

我的 package.json 文件中有这个:

{
    "devDependencies": {
        ...,
        "@types/jest": "^24.0.11",
        "jest": "^24.7.1"
    },
    "scripts": {
        "test": "jest"
    }
}
Run Code Online (Sandbox Code Playgroud)

我已经用打字稿编写了测试,只希望测试运行 js。我到处寻找,但我找到的只是添加对 TS 测试支持的方法。我希望它只在我的 .js 文件上运行。

有人遇到过这个问题或者知道解决方法吗?

Don*_*sII 6

经过几个小时的搜索和弄乱 Jest 文档和设置后,我终于找到了如何仅选择您希望 Jest 查找的文件。将“jest”字段添加到 package.json 文件设置中:

{
    "devDependencies": {
        ...,
        "@types/jest": "^24.0.11",
        "jest": "^24.7.1"
    },
    "scripts": {
        "test": "jest"
    },
     "jest": {
         "testMatch": [
             "**/?(*.)+(spec|test).[j]s?(x)"
         ]
    }
}
Run Code Online (Sandbox Code Playgroud)

需要将其添加到您的 package.json 文件中。这是Jest 文档中的内容。在上面的正则表达式中,您需要更改.[jt]sjust .[j]s,删除“t”。


mik*_*ana 6

或在jest.config.js

module.exports = {
  ...
  testMatch: ["**/?(*.)+(spec|test).js"],
  ...
};
Run Code Online (Sandbox Code Playgroud)