很简单,我想用Jest运行一个测试.
我放it.only或describe.only但它仍然运行了很多测试.我认为自从我上一次提交以来它运行了所有测试,但它不应该only明确设置标志的这种行为,对吧?
导致此行为的原因以及如何运行单个测试?
我有使用vue cli 3的vue应用程序。在设置过程中,我选择了jest作为测试框架。为了运行我的单元测试,我在package.json中有一个脚本:
test:unit": "vue-cli-service test:unit",
Run Code Online (Sandbox Code Playgroud)
并运行它,我在vs代码终端中编写:
npm run test:unit
Run Code Online (Sandbox Code Playgroud)
这将运行我所有符合package.json文件的jest config部分中设置的规范的测试。
我的问题是如何仅运行一个测试。我需要运行特定的命令吗?或者是否有适用于此设置的vscode扩展名。
在我的项目文件夹中,我有很多子文件夹,每个子文件夹中都有 js 代码和 test.js 文件。我希望能够测试特定文件。例如,假设我们的项目文件夹中有“fib”文件夹:
\nC:.\n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80exercises\n \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80fib\n fib-test.js\n index.js\nRun Code Online (Sandbox Code Playgroud)\n现在,从练习文件夹中执行 jest 命令:
\njest fib\\fib-test.js\nRun Code Online (Sandbox Code Playgroud)\n我得到:
\nNo tests found, exiting with code 1\nRun with `--passWithNoTests` to exit with code 0\nIn C:\\exercises\n 62 files checked.\n testMatch: **/__tests__/**/*.[jt]s?(x), **/?(*.)+(spec|test).[tj]s?(x) - 26 matches\n testPathIgnorePatterns: \\\\node_modules\\\\ - 62 matches\n testRegex: - 0 matches\nPattern: fib\\fib-test.js - 0 matches\nRun Code Online (Sandbox Code Playgroud)\n如果我只是开玩笑,我将运行所有测试。如果我将 fib 文件夹移出练习文件夹,它会按预期工作。这是所有文件的代码:
\n索引.js:
\nfunction fib(n) {}\n\nmodule.exports = fib;\nRun Code Online (Sandbox Code Playgroud)\n测试.js:
\nconst fib = require(\'./index\');\n\ntest(\'Fib function is defined\', () …Run Code Online (Sandbox Code Playgroud) 我正在尝试配置 (Windows) Visual Studio Codelaunch.json来启动jest当前文件的测试。为了获取路径,我使用${relativeFile}了一个变量,它给出了一个带有反斜杠的字符串"src\services\some-service.spec.ts",尽管在文档中斜杠看起来很正常。
jest由于反向斜线,似乎不接受这种路径。当我用普通斜杠手动传递相同的路径时,它工作得很好。
问题是有没有办法在 VSCode 路径预定义变量中反转反斜杠,比如${relativeFile}或者一些解决方法?