草庐IT

javascript - 用 promises 开 Jest 假计时器

在使用假计时器和promise的组合时,我在让Jest测试框架(版本23.2.0)正常工作时遇到了一些麻烦。我哪里错了?假设我有以下模块://timing.jsexportconsttimeout=ms=>newPromise(resolve=>{setTimeout(resolve,ms)})我的测试文件如下所示://timing.test.jsimport{timeout}from'./timing'describe('timeout()',()=>{beforeEach(()=>{jest.useFakeTimers()})it('resolvesinagivenamountof

javascript - 如何使用 Jest 测试对象的一部分?

我想测试时间是否被正确解析,我只对检查部分属性而不是整个对象感兴趣。在这种情况下,小时和分钟。我尝试使用expect(object).toContain(value)但正如您在下面的代码片段中看到的那样,它失败了,尽管该对象包含我感兴趣的属性并且它们具有正确的值。●Calendar>CalendarViewConfig›itshouldparsetimeexpect(object).toContain(value)Expectedobject:{"display":"12:54","full":774,"hour":12,"hours":12,"minutes":54,"string"

javascript - 测试套件无法运行 TypeError : Cannot read property 'default' of undefined

我正在尝试在我的react-native项目上设置Jest,但它与bugsnag-react-native配合得不好.在我当前的测试配置中,我看到了与bugsnag的leaveBreadcrumb函数相关的错误,如下所示:FAILapp/__tests__/NetworkReducer.test.js●TestsuitefailedtorunTypeError:Cannotreadproperty'default'ofundefinedatObject.(app/__tests__/NetworkReducer.test.js:10:20)atGenerator.next()atPro

javascript - 如何使用 Jest 和/或 Enzyme 获取嵌套在 React 组件中的元素的属性?

我想测试一下图像是否已正确加载到React应用程序中。我决定检查嵌套在React组件中的img元素的src属性。我想使用Jest测试框架,如果需要,还想使用Enzyme测试实用程序。通过深入研究浅层React测试组件的Object.keys,我得出了以下解决方案。我不确定的行用星号表示。importReactfrom'react';import{shallow}from'enzyme';importAppfrom'./App';it('shouldhavethelogoimage',()=>{constapp=shallow();constimg=app.find('img');con

javascript - 在 Jest 中,如何使测试失败?

我知道我可能会从测试内部抛出错误,但我想知道是否有Jasmine提供的全局fail()方法之类的东西? 最佳答案 Jest实际上使用了Jasmine,因此您可以像以前一样使用fail。示例调用:fail('itshouldnotreachhere');这是Jest的TypeScript声明文件中的定义:declarefunctionfail(error?:any):never;如果您知道某个特定调用应该失败,您可以使用expect。expect(()=>functionExpectedToThrow(param1)).toThrow

javascript - Jest : How to correctly mock a node module?

我想用Jest在ReactNative中模拟node_module'ReactNativeKeychain'。在docs之后,我创建了一个名为__mocks__的文件夹,并在其中创建了一个名为react-native-keychain.js的文件。这是文件中的代码:exportdefaultjest.mock("react-native-keychain",()=>{consttoken="abcdefghijklmnopqrstuvwxyz0123456789";constcredentials={username:"session",password:token};return{s

javascript - 在对象数组上使用 Jest 属性匹配器

我正在尝试使用Jest的新PropertyMatcher特征(自Jest23.0.0起)匹配包含生成字段的对象数组。我尝试使用expect.arrayContaining和expect.objectContaining放置一个普通对象和一个匹配器定义,就像我在手动匹配时可能会做的那样。目前有什么办法可以做到这一点吗?constsportsBallPeople=[{createdAt:newDate(),name:'ThatonefamousguyfromCleveland'},{createdAt:newDate(),name:'Thattallguy'}];expect(sports

javascript - Jest : Testing window. location.reload

如何编写测试以确保方法reloadFn实际上重新加载窗口?我找到了thisresource但是我不清楚在给定函数中发生窗口重新加载时编写测试时如何期望窗口重新加载。感谢您的帮助!constreloadFn=()=>{window.location.reload(true);} 最佳答案 更新答案(2021年11月)包装:“开Jest”:“^26.6.0”"@testing-library/jest-dom":"^5.11.4"构建:create-react-app4describe("testwindowlocation'srelo

javascript - 如何使用 Jest 和 Enzyme for React-Native 在单元测试中模拟事件

我正在尝试找出如何在React-Native应用程序中使用Jest测试“onPress”事件,以便确保调用正确的函数。我浏览了文档和谷歌,但无法在React-Native中找到解决方案。这是我发现应该适用于带有enzyme的React-Native的东西:constmockFunc=jest.fn();constcomponent=mount();component.simulate('press');expect(mockFunc).toHaveBeenCalled();但这行不通。似乎mount不起作用,我得到了这个输出:ReferenceError:documentisnotde

javascript - 如何让我的测试在 Jest 中挂起?

我想让我的一些jest测试挂起。我该怎么做?APIreference没有任何方法可以让我的测试挂起。 最佳答案 你也可以只说test.todo('SometestIstillneededtodo')然后,测试运行器将在todo状态下显示测试计数:测试:1个待办事项,2个通过,总共3个 关于javascript-如何让我的测试在Jest中挂起?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/quest