草庐IT

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 - 如何在 Jest 中测试类构造函数

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

javascript - Jest 预期模拟函数已被调用,但未被调用

我查看了各种解决类属性测试问题的建议,但都没有成功,我想知道是否有人可以更清楚地说明我可能出错的地方,这是我尝试过的所有测试错误预期的模拟函数已被调用,但它没有被调用。搜索.jsximportReact,{Component}from'react'import{func}from'prop-types'importInputfrom'./Input'importButtonfrom'./Button'classSearchFormextendsComponent{staticpropTypes={toggleAlert:func.isRequired}constructor(){sup

javascript - 排毒,过渡中的按钮匹配了多个元素

我正在使用detoxe2e为我的react-native应用程序创建测试用例。长话短说,我在组件的渲染函数中有一个按钮,该按钮从左向右过渡。我已经为该按钮提供了一个唯一的测试ID。在我的测试用例中,我希望该按钮使用其测试ID出现。但是当我运行“排毒测试”时,测试失败并且错误提示多个元素与该测试ID匹配。我的测试文件代码是:describe('Loginflow',()=>{//testcaseforwalletgenerationit('shouldgeneratenewwallet',async()=>{awaitexpect(element(by.id('WelcomeScreen

javascript - 使用 Jest 和 React 模拟非默认函数

在测试文件中,我需要渲染一个组件,同时模拟它的一些子组件。文件结构大致如下所示。文件1import{A,B}from'a-module';exportfunctionMyComponent(){return(//Ineedtomock//thesecomponentsout);}文件2import{MyComponent}from'File1';/**InthisfileIwouldliketorenderMyComponentbut*havecomponentsAandBbereplacedbymocks*/我试过jest.mock('a-module',()=>'Blah');但这

javascript - 使用 Jest 测试时使用 webpack 导入图像时 enzyme 渲染失败

我想测试一个简单的组件是否呈现(因为我还在研究Jest)。应用程序本身使用webpack加载图像以显示Logo。当我尝试挂载/渲染/浅化无状态组件时,Jest抛出错误。FAILsrc/components/blog/blogList.spec.jsx●Testsuitefailedtorun/home/requinard/Projects/manus-frontend/src/img/manus_logo.png:Unexpectedcharacter'�'(1:0)>1|�PNG|^2|3|4|IHDR��G}pHYs.#.#x�?vtEXtSoftwareAdobeImageRea