没有找到测试用例 Jest

     2023-02-22     108

关键词:

【中文标题】没有找到测试用例 Jest【英文标题】:No Test case found Jest 【发布时间】:2019-12-22 01:32:21 【问题描述】:

我在使用 lint-staged 插件时遇到了一个奇怪的问题。之前还好好的。

所以问题是当我运行npm run test 时,它会生成覆盖率报告。

"test": "cross-env CI=true react-scripts test --coverage",

但是当我使用husky pre-commit 和lint-staged 运行相同的命令时,它不起作用。当我检查控制台时,我发现它正在针对已修改的文件运行。

> portal@0.1.0 test /Users/carlos/Desktop/portal
> cross-env CI=true react-scripts test --coverage "/Users/carlos/Desktop/portal/src/container/Auth/Login.page.js"

No tests found, exiting with code 1
Run with `--passWithNoTests` to exit with code 0
In /Users/carlos/Desktop/portal
44 files checked.
testMatch: /Users/carlos/Desktop/portal/src/**/__tests__/**/*.js,jsx,ts,tsx, /Users/carlos/Desktop/portal/src/**/*.spec,test.js,jsx,ts,tsx - 6 matches
testPathIgnorePatterns: /node_modules/ - 44 matches
testRegex:  - 0 matches
Pattern: /Users/carlos/Desktop/portal/src/container/Auth/Login.page.js - 0 matches
npm ERR! code ELIFECYCLE
npm ERR! errno 1

有明显区别

当我跑步时

npm run test 与它一起运行

cross-env CI=true react-scripts test --coverage

npm run test 被 husky 和 ​​lint-staged 调用时

它被称为 cross-env CI=true react-scripts test --coverage "/Users/carlos/Desktop/portal/src/container/Auth/Login.page.js"

--covrage之后追加了文件路径

这是我的包 JSON 配置。

"jest": 
    "collectCoverageFrom": [
      "src/**/*.js"
    ],
    "coverageThreshold": 
      "global": 
        "branches": 80,
        "functions": 80,
        "lines": 80,
        "statements": 80
      
    
  ,
  "eslintConfig": 
    "extends": "react-app"
  ,
  "husky": 
      "hooks": 
        "pre-commit": "lint-staged"
      
    ,
  "lint-staged": 
      "*.js": [
        "prettier --write",
        "eslint src/ --fix",
        "npm run test",
        "git add"
      ]
   

注意:当我使用 lint-staged 时,只有当我使用 pre-commit:npm run test 它工作正常时才会发生这种情况。

【问题讨论】:

【参考方案1】:

Jest 正在尝试在暂存区运行文件,这就是它附加一些文件路径的原因。

你需要的是--findRelatedTests

"lint-staged": 
  "*.js": [
    "prettier --write",
    "eslint --ext .js --fix",
    "jest --bail --findRelatedTests"
  ]

--findRelatedTests 将查找需要/导入作为参数传递的文件的测试文件(在 lint-staged 的​​情况下,是暂存区域中的文件)。你可以阅读更多关于它是如何工作的here。

来自documentation:

查找并运行涵盖作为参数传入的以空格分隔的源文件列表的测试。对于预提交挂钩集成以运行所需的最少测试很有用。可以与 --coverage 一起使用以包含源文件的测试覆盖率,不需要重复的 --collectCoverageFrom 参数。

【讨论】:

--bail 如何解决这个问题? --bail 只是我喜欢与 lint-staged 一起使用的一种便利。这使得 Jest 在一个失败的测试套件后立即停止,因此您不必等待所有测试运行才能获得反馈。实际上,解决您的问题的是 --findRelatedTests。我已经为答案添加了解释。 很高兴为您提供帮助 =D @ViníciusPachecoVieira @DanielSousa 如果我将jest --bail --findRelatedTests 放在 4 个命令列表的末尾会有什么影响吗? @ypahalajani 实际上 lint-staged 现在为您运行“git add”,因此您不再需要它了。我已经更新了最后运行 jest 的示例。

如何在 jest 测试用例 +VueJS +Jest 中更改 $route

】如何在jest测试用例+VueJS+Jest中更改$route【英文标题】:Howtochange$routeinjesttestcase+VueJS+Jest【发布时间】:2020-05-2922:46:56【问题描述】:我是VueJS的新手(在测试用例中也是如此),如果这个问题已经被问到了,请道歉,我在我的... 查看详情

React Js API 调用 Jest 测试用例?

】ReactJsAPI调用Jest测试用例?【英文标题】:ReactJsAPIcallJestTestCase?【发布时间】:2021-10-1615:52:48【问题描述】:我正在尝试为我的API调用函数编写测试用例,我不知道我无法成功运行测试的错误在哪里是API调用函数代码和测试用... 查看详情

使用 express 完成测试运行后一秒钟 Jest 没有退出

】使用express完成测试运行后一秒钟Jest没有退出【英文标题】:Jestdidnotexitonesecondafterthetestrunhascompletedusingexpress【发布时间】:2019-05-2421:30:59【问题描述】:我正在使用JEST对我的快速路线进行单元测试。在运行yarntest时,我所有... 查看详情

JEST STYLED COMPONENTS - toHaveStyleRule 没有找到属性

】JESTSTYLEDCOMPONENTS-toHaveStyleRule没有找到属性【英文标题】:JESTSTYLEDCOMPONENTS-toHaveStyleRuledidn\'tfindproperty【发布时间】:2018-03-1423:48:35【问题描述】:我正在尝试测试我的样式化组件。因此我安装了jest-styled-components。我想测试一下... 查看详情

如何解决 Jest 测试用例中的“TypeError: Cannot set property 'innerHTML' of null”?

】如何解决Jest测试用例中的“TypeError:Cannotsetproperty\\\'innerHTML\\\'ofnull”?【英文标题】:Howtosolve"TypeError:Cannotsetproperty\'innerHTML\'ofnull"inJesttestcase?如何解决Jest测试用例中的“TypeError:Cannotsetproperty\'innerHTML\'ofnull” 查看详情

Nest JS - 为返回 Observable Axios 响应的函数编写 Jest 测试用例的问题

】NestJS-为返回ObservableAxios响应的函数编写Jest测试用例的问题【英文标题】:NestJS-IssuewritingJestTestCaseforafunctionreturningObservableAxiosResponse【发布时间】:2019-08-0713:50:26【问题描述】:我对NestJS+Typescript+RxJs技术栈还很陌生。我正在尝... 查看详情

测试无法运行测试用例退出 TypeError: Jest: a transform must export a `process` function

】测试无法运行测试用例退出TypeError:Jest:atransformmustexporta`process`function【英文标题】:TestunabletoruntestcasesexitswithTypeError:Jest:atransformmustexporta`process`function【发布时间】:2021-08-2617:09:33【问题描述】://tsconfig.base.json“compileO 查看详情

如何与jest共享多个套件中的测试用例?(代码片段)

我发现在Node.jsRESTAPI的多个集成测试中有很多重复的测试案例。因此,例如,我对每个错误都具有相同属性的端点测试无效请求。importappfrom'server';import*asrequestfrom'supertest';describe('Authenticationtests',()=>describe('POST/login',()=>//otherte 查看详情

我应该如何为样式化组件编写 Jest 测试用例并监视 css 以验证样式是不是正确?

】我应该如何为样式化组件编写Jest测试用例并监视css以验证样式是不是正确?【英文标题】:HowshouldIwriteJestTestcasesforstyledcomponentandspyoncsstoverifyifthestyles?我应该如何为样式化组件编写Jest测试用例并监视css以验证样式是否正确?... 查看详情

使用 Jest 的不可理解的单元测试效果错误

】使用Jest的不可理解的单元测试效果错误【英文标题】:UnunderstandableunittestingeffectserrorusingJest【发布时间】:2019-11-0123:20:20【问题描述】:我正在处理两个几乎相同的测试用例,我应该断言期望两个NgRx效果返回一个布尔值流。... 查看详情

带有 vue-test-utils 和 Jest 的 Vue.js 单元测试用例失败

】带有vue-test-utils和Jest的Vue.js单元测试用例失败【英文标题】:Vue.jsunittestcaseswithvue-test-utilsandJestfailing【发布时间】:2019-01-2719:48:57【问题描述】:使用vue-cli3,我开始学习用Jest进行单元测试我为我的初始标题组件编写了我的第... 查看详情

Jest 找到测试但不收集覆盖率

】Jest找到测试但不收集覆盖率【英文标题】:Jestfindstestsbutdoesn\'tcollectcoverage【发布时间】:2019-12-1810:24:11【问题描述】:我试图收集thisproject的测试覆盖率yarntest--coverage#i.e."react-scriptstest--coverage"我开玩笑的配置是这样的:"jest":... 查看详情

React and Jest:无法从测试文件中找到模块

】ReactandJest:无法从测试文件中找到模块【英文标题】:React&Jest:Cannotfindmodulefromtestfile【发布时间】:2016-09-1510:09:43【问题描述】:在app/__tests__目录中为Redux操作(\'App.js\')设置Jest测试(\'App-test.js\'):这是App.js的标头:jest.unmock... 查看详情

jest单元测试入门(代码片段)

Jest单元测试入门今天,我们要讲的是Jest单元测试的入门知识。为何要进行单元测试?在学习Jest之前,我们需要回答一个问题:为何要进行单元测试?编写单元测试可以给你带来很多好处:将测试自动化,无需每次都人工测试。... 查看详情

开玩笑 没有找到测试

】开玩笑没有找到测试【英文标题】:JestNoTestsfound【发布时间】:2017-11-2805:36:54【问题描述】:在macOS上运行dockermhart/alpine-node:8nodejs(6.10.3-r0)(18/18)纱线0.24.6开玩笑20.0.4但是,在运行代码时,我有一个__tests__/index.test.js文件node_modu... 查看详情

如何用 Jest 正确实现这样的测试套件架构?

...】:我已经检查了Jest文档网站上的所有guides和examples,但没有找到任何可以为我的问题提供答案的内容。我正在寻找一种模式,它允许我使用Jest分别为许多不同的功能(在我的情况下是getter)运行测试 查看详情

在 Jest 中动态生成测试

】在Jest中动态生成测试【英文标题】:DynamicallygeneratetestsinJest【发布时间】:2018-06-1921:11:04【问题描述】:我正在寻找一种在Jest中生成测试并运行它们的方法。我正在测试一个API,并且测试用例是从一个CSV文件中导入的,并从... 查看详情

NodeJS - 使用 Jest 运行测试:TypeScript 配置文件出错

...错误消息。这与TypeScript配置文件有关,我已经搜索过但没有找到太多。我正在使用NodeJS、TypeOR 查看详情