草庐IT

jest测试

全部标签

javascript - 为什么ExtJS要测试浏览器是否支持排序?

我是一个javascript新手,这是来自ExtJS的代码,这让我很困惑:supportsSort=(function(){vara=[1,2,3,4,5].sort(function(){return0;});returna[0]===1&&a[1]===2&&a[2]===3&&a[3]===4&&a[4]===5;}()),有人能告诉我为什么ExtJS要做这个测试吗?最好附上一些示例代码。 最佳答案 犹豫是否将此作为答案发布,因为我承认只是在进行有根据的猜测,但根据MDN,Array.sort的浏览器兼容性对于所有内容都列为E

javascript - 测试对象是否具有多个属性

我在检查这个对象时遇到问题,我需要做些什么来链接多个.to.have.property语句吗?我相信我只是将上一个.to.have.property的结果返回到下一个。expect(shopify.formatRequestOptions("shop")).to.have.property('url',"https://"+settings.shop+"/admin/shop.json").to.have.property('method',"GET").to.have.deep.property('headers.X-Shopify-Access-Token',settings.ac

javascript - 测试未导出的 TypeScript 函数

我使用Mocha/Chai测试JavaScript前端代码,现在我们切换到TypeScript。我有几个要测试的功能。但它们不应该是可导出的。我可以在不向它们添加export的情况下访问此函数并对其进行测试吗? 最佳答案 无法访问未导出的模块函数。moduleMyModule{functionprivateFunction(){alert("privateFunction");}}MyModule.privateFunction();//Generatesacompilererror但是,撇开私有(private)​​方法测试的有效

javascript - 如何测试 Node 数据分块功能

我正在开发一个使用Node的项目,我们正在努力实现100%的功能覆盖。这是我们唯一没有测试过的函数,它在另一个函数中。varuserInput="";req.on("data",function(data){userInput+=data;});你如何着手测试这个功能?我们尝试从另一个文件导出函数,但没有成功。我应该提一下,我们正在使用磁带作为测试模块。 最佳答案 您需要根据请求触发此“数据”事件。这样这个回调就会被调用。例如,假设您的测试中有req,您可以做类似的事情(这是Mocha):req.trigger('data','sa

javascript - 在 Reactjs 中测试窗口按键事件

我正在编写的组件需要根据是否按下ctrl来更改其行为。我使用了window.onkeydown事件,但是ReactTestUtils中的Simulate不允许我针对window发送事件。我也尝试过window.dispatchEvent(newKeyboardEvent('keydown',{keyCode:17}));但mocha/node无法识别KeyboardEvent。有没有办法使用ReactTestUtils测试window.onkeydown?如果没有,有没有更好的方法在节点的摩卡中做到这一点?下面是一些代码来说明这个问题:describe('OnKeydown',()=>

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 - 如果Object.prototype被修改,如何测试对象是否为 "isEmpty()"?

我想测试一个对象是否为空:{}。通常使用以下内容:functionisEmpty(obj){for(varpropinobj){if(obj.hasOwnProperty(prop))returnfalse;}returntrue;}但假设Object原型(prototype)被添加到如下:Object.prototype.Foo="bar";测试:alert(isEmpty({}));//trueObject.prototype.Foo="bar";alert({}.Foo);//"bar"ohno...alert(isEmpty({}));//true...**huh?!**我试图