草庐IT

jest-jasmine

全部标签

javascript - 预期 '> ' 等于 Jasmine 中的 '> '

我正在测试jQuery终端,但出现错误:Expected'>'toequal'>'.测试时:$(function(){describe('Terminalplugin',function(){describe('terminalcreateterminaldestroy',function(){varterm=$('').appendTo('body').terminal();it('shouldhavedefaultprompt',function(){varprompt=term.find('.prompt');expect(prompt.html()).toEqual(">

javascript - 如何 Jest 模拟 react-native-camera?

我正在尝试测试react-native-camera模块与jest所以我有以下package.json:{"name":"app","version":"0.0.1","private":true,"main":"index.js","license":"MIT","scripts":{"start":"nodenode_modules/react-native/local-cli/cli.jsstart","test":"jest"},"dependencies":{"react":"~15.4.0-rc.4","react-native":"0.40.0","react-nativ

javascript - 为什么我的 jest.mock 中的 Promise reject() 会转到 then() 而不是 catch()?

我有两个文件,getItemInfo.js进行API调用,getItemInfo.test.js是相应的Jest测试文件。在测试文件中,我正在模拟由Node模块request-promise触发的http调用。问题在第二个代码块上,被*********包围。基本上为什么reject()错误仍然会在第二个单元测试中进入then()block?//getItemInfo.jsconstrp=require('request-promise');constgetItemInfo=(id)=>{constroot='https://jsonplaceholder.typicode.com/po

javascript - 如何用 Jest 模拟第三方模块

我的测试目标中有当前导入:importsharpfrom'sharp'并在我的同一个测试目标中使用它:returnsharp(local_read_file).raw().toBuffer().then(outputBuffer=>{在我的测试中,我正在执行以下操作来模拟sharp函数:jest.mock('sharp',()=>{raw:jest.fn()toBuffer:jest.fn()then:jest.fn()})但我得到:return(0,_sharp2.default)(local_read_file).^TypeError:(0,_sharp2.default)isno

javascript - Jest Enzyme 如何对包装组件的存在进行浅层测试

我正在测试一个有条件地呈现包装组件的组件。我正在使用enzyme和jest,根组件是通过shallow()方法呈现的。问题是测试Root组件是否包含包装组件。如何在不使用mount()渲染方法的情况下测试包装组件是否存在?hoc.component.jsxexportfunctionHOC(Component){render(){return}}wrapped.component.jsxclassWrappedComponentextendsReact.Component{...}exportdefaultHOC(WrappedComponent)root.component.jsxc

javascript - Jest 中 unmock 和 dontMock 的区别

所以我一直在编写一个成功的单元测试库,而且一切看起来都很顺利。然后我在一些在线示例中注意到我这样做的地方:-jest.unmock('../lib/q');其他人这样做:-jest.dontMock('../lib/q');我在Jest网站上找不到任何文档(老实说,文档不是很好),所以我将我的一个套件更改为dontMock并爆炸了很多...有什么区别? 最佳答案 这是coveredintheJestdocumentation.似乎我们现在都应该使用unmock来防止将mock提升到ES6导入之上:I'musingbabelandmy

javascript - Jasmine toBeCloseTo 第二个参数是什么?

Jasmine的文档非常简短;通常就足够了。不总是。我想知道toBeCloseTo的第二个参数到底是什么。官方引用仅显示:it("The'toBeCloseTo'matcherisforprecisionmathcomparison",function(){varpi=3.1415926,e=2.78;expect(pi).not.toBeCloseTo(e,2);expect(pi).toBeCloseTo(e,0);});好的,这是精确度,但在这种情况下,“精确度”的实际含义是什么?是“.”后面的位数吗?那应该是一样的吧?我的情况:我想以毫秒为单位比较两个时间戳;如果它们之间的差异

javascript - 使用 Jasmine 和 node.js 测试客户端 javascript 代码

给定:客户端javascript代码(在浏览器中运行,使用jquery等)。目前,代码已使用Rhino和envjs进行测试。我们想切换到node.js。然而,经过一些研究,找不到任何类似envjs的模拟浏览器的补充。在“按原样”运行node.js时,甚至缺少alert()或window等基本功能。node.js是否有类似于Rhino&envjs的标准包? 最佳答案 你可以使用zombie.js,其中包含测试所需的一切。或者您可以利用jsdom(zombie.js在内部使用)在node.js中获取DOM,并针对该DOM执行测试。我也可

javascript - Jasmine 单元测试不等待 promise 解决

我有一个像这样的异步依赖的Angular服务(function(){angular.module('app').factory('myService',['$q','asyncService',function($q,asyncService){varmyData=null;return{initialize:initialize,};functioninitialize(loanId){returnasyncService.getData(id).then(function(data){console.log("gotthedata!");myData=data;});}}]);})

javascript - 如何在 Jest 中测试类构造函数

假设我有一个类如下:classSomeClass{constructor(a,b){this.a=a;this.b=b;}}我如何通过Jest测试构造函数是否以正确的方式初始化?说...this.a=a和this.b=b而不是相反?我知道我可以执行toBeCalledWith但这不会让我检查构造函数的逻辑。我也在考虑制作mockImplementation但在这种情况下它似乎毫无意义,因为我将重写逻辑,或者我可能没有意识到创建模拟的所有细微差别 最佳答案 只需创建一个对象的实例并直接检查它。由于它将它们设置在this上,因此它们本质