我想测试一下图像是否已正确加载到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
我知道我可能会从测试内部抛出错误,但我想知道是否有Jasmine提供的全局fail()方法之类的东西? 最佳答案 Jest实际上使用了Jasmine,因此您可以像以前一样使用fail。示例调用:fail('itshouldnotreachhere');这是Jest的TypeScript声明文件中的定义:declarefunctionfail(error?:any):never;如果您知道某个特定调用应该失败,您可以使用expect。expect(()=>functionExpectedToThrow(param1)).toThrow
我想用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
我正在尝试使用Jest的新PropertyMatcher特征(自Jest23.0.0起)匹配包含生成字段的对象数组。我尝试使用expect.arrayContaining和expect.objectContaining放置一个普通对象和一个匹配器定义,就像我在手动匹配时可能会做的那样。目前有什么办法可以做到这一点吗?constsportsBallPeople=[{createdAt:newDate(),name:'ThatonefamousguyfromCleveland'},{createdAt:newDate(),name:'Thattallguy'}];expect(sports
如何编写测试以确保方法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
我正在尝试找出如何在React-Native应用程序中使用Jest测试“onPress”事件,以便确保调用正确的函数。我浏览了文档和谷歌,但无法在React-Native中找到解决方案。这是我发现应该适用于带有enzyme的React-Native的东西:constmockFunc=jest.fn();constcomponent=mount();component.simulate('press');expect(mockFunc).toHaveBeenCalled();但这行不通。似乎mount不起作用,我得到了这个输出:ReferenceError:documentisnotde
我想让我的一些jest测试挂起。我该怎么做?APIreference没有任何方法可以让我的测试挂起。 最佳答案 你也可以只说test.todo('SometestIstillneededtodo')然后,测试运行器将在todo状态下显示测试计数:测试:1个待办事项,2个通过,总共3个 关于javascript-如何让我的测试在Jest中挂起?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/quest
我想测试AJAX方法(vanillaXHR),但找不到使用Jest框架的方法。我为Jasmine找到了mock-ajax.js。问题是我找不到安装方法。在Jest中是否有更好的单元测试Ajax函数的方法? 最佳答案 jestapi发生了一些变化。这是我用的。它什么都不做,但足以呈现我的组件。constxhrMockClass=()=>({open:jest.fn(),send:jest.fn(),setRequestHeader:jest.fn()})window.XMLHttpRequest=jest.fn().mockImple
在我的代码中,我在点击window.confirm提示“确定”时触发回调,我想测试是否触发了回调。在sinon中,我可以通过以下方式stubwindow.confirm函数:constconfirmStub=sinon.stub(window,'confirm');confirmStub.returns(true);有没有办法在Jest中实现这种stub? 最佳答案 开个Jest,您可以使用global覆盖它们。global.confirm=()=>true开个Jest,每个测试文件都在自己的进程中运行,您不必重置设置。
目前我正在componentDidMount上手动初始化Quill编辑器,Jest测试对我来说失败了。看起来我得到的ref值在jsdom中是空的。这里有问题:https://github.com/facebook/react/issues/7371但看起来refs应该有效。有什么我应该检查的想法吗?组件:importReact,{Component}from'react';importlogofrom'./logo.svg';import'./App.css';classAppextendsComponent{componentDidMount(){console.log(this._