草庐IT

javascript - 从另一个文件模拟一个函数 - Jest

我正在为我的应用程序编写单元测试用例。有一个函数写在Utils部分并在所有文件中使用。我想在需要时模拟此Utils函数,但我无法这样做。这是我的代码设置:实用程序.js>constgetData=(name)=>"Hello!!!"+name;>>constgetContact=()=>returnContacts.mobile;>>export{>getData,>getContact}Login.js(使用Utils.js)constwelcomeMessage=(name)=>{returngetData(name);}我的测试文件(Login.spec.js)import{ge

javascript - Jest with TypeScript : TypeError: environment. 拆解不是函数

当我尝试使用Jest运行测试时出现此错误:FAILsrc/__tests__/jokeGenerator.test.tsx●TestsuitefailedtorunTypeError:environment.teardownisnotafunctionatnode_modules/jest-runner/build/run_test.js:230:25我在这里遇到了一个可能的解决方案:HowtosolveTypeError:environment.teardownisnotafunction但在按照建议进行操作后:删除我的yarn.lock文件、node_modules文件夹、从我的p

javascript - 使用 Jest CLI 时如何让 Promises 工作?

我正在尝试使用JestCLI测试一个promise,这段代码在浏览器中运行时会正常执行。但是我想开始为它编写测试。classListCollection{constructor(){this.items=newArray();}addItem(string){constaddItemPromise=newPromise(function(resolve,reject){//setupasyncgettinglikeaXMLHttpRequestsetTimeout(()=>{this.items.push(string);resolve(string);}.bind(this),200

javascript - Jest - React 组件中的模拟粗箭头功能

鉴于我的组件和下面的测试,为什么我的confirmClickHandler方法在我运行测试时仍然被调用?注意:我注意到,当我将方法从粗箭头函数更改为常规函数时,它会被正确地模拟出来。我在这里缺少什么?classCalendarConfirmationextendsReact.Component{...confirmClickHandler=(e)=>{...}}和我的测试:importReactfrom'react';import{mount}from'enzyme';importCalendarConfirmationfrom'../components/CalendarConfir

javascript - Jest +酵素。无法读取未定义的属性 '_isMockFunction'。模拟箭头的keyDown

我的主要组件的测试方法存在严重问题。经过多次重试后我的实际测试仍然不起作用,看起来像这样:describe(':',()=>{beforeEach(()=>{wrapper=mount();});describe('Interaction:',()=>{it('shouldcallArrowDown()',()=>{constinstance=wrapper.instance();spy=jest.spyOn(instance,'ArrowDown');instance.forceUpdate();wrapper.simulate('keyDown',{key:'Arrowdown'}

javascript - 为什么我的 jest 测试在本地运行,而不是在 Travis 上运行?

我有一个使用ES6以及import和export的简单javascript项目。这是我的.babelrc文件{"env":{"es":{"presets":[["env",{"targets":{"browsers":["last2versions"],"node":"current"},"modules":false}]],"ignore":["**/*.test.js","**/tests/*"]},"test":{"presets":["env"]},"cjs":{"presets":[["env",{"targets":{"browsers":["last2versions"]

javascript - 检查子组件是否呈现 - Jest, Enzyme

在我的单元测试中,我想测试父组件是否成功渲染了它的子组件。这是代码:describe('ParentComponent',()=>{it('rendersChildcomponent',()=>{constwrapper=shallow();expect(wrapper.find(Child).length).toEqual(1);});});家长:constParent=observer(({store})=>{constbookList=toJS(store.planets);return({bookList.map(book=>{return;})});});以上代码摘自here

javascript - 如何将 Jest 中的 '__mocks__' 文件夹移动到/test?

我已经开始在Jest中使用mocks来测试我的NodeJS应用程序并且它们工作得很好,但是将__mocks__文件夹移动到/test文件夹会更有意义所以与测试相关的所有内容都在那里,而不是在/src中混合文件。这在某种程度上是可能的吗?我在Jest文档中的任何地方都找不到它。 最佳答案 jest.mock('../src/service',()=>require('./__mocks__/request'));这对我有用 关于javascript-如何将Jest中的'__mocks__'

javascript - Jest onSpy 不识别 React 组件函数

尽管尝试了一切,但这个让我完全难住了。我正在使用Jest/Enzyme测试React组件。此测试模拟修改元素,然后调用onChange方法。当我运行测试时,我从Jest得到这个:CannotspytheonChangepropertybecauseitisnotafunction;undefinedgiveninstead为什么??以下是组件的关键部分:importReact,{Component}from'react';importEntitiesPulldownfrom'./entities-pulldown'classNewTransactionFormextendsCompon

javascript - 在 Jest 中调试单个测试

我有很多Jest测试,在很多测试套件中,在很多测试文件中。我需要隔离和调试单个测试。我正在通过node--inspect-brk./node_modules/jest/bin/jest进行调试,因此涉及监视模式的其他解决方案太复杂了。除了我需要调试的测试之外,我如何才能跳过所有测试? 最佳答案 jest分两步处理这个问题通过使用testPathPattern(jestdocs)运行jest来隔离您的测试文件命令行参数node--inspect-brk./node_modules/jest/bin/jest--testPathPatt