我一直在为我的所有事件(当然还有其他一切)编写测试,但我不知道如何测试this.props.onClick(this)在子组件上被调用。我的子组件有以下代码:closeModal:function(){this.props.onClick(this);},render:function(){return()}家长是这样听的:onCloseModal:function(){this.replaceState({modalStatus:'hidden'});},render:function(){return()}我知道如何测试parent的点击事件,我也知道如何在测试中调用child的按
我有一个简单的应用程序,他们使用react-routerv4constApp=()=>(Home}/>Profile}/>Help}/>);和测试jest.dontMock('../App');importReactfrom'react';import{MemoryRouter}from'react-router-dom';import{shallow}from'enzyme';importAppfrom'../App';describe('',()=>{constwrapper=shallow();console.log(wrapper.html());it('rendersasta
我有一个问题,关于如何使用Jest模拟ES6类实例,我实际想要测试的方法使用了它。我的真实案例是尝试测试一个Redux异步Action创建者,它发出请求并根据请求结果分派(dispatch)一些Action。这是用例的简化示例://communication.js//AnexportedES6classmodulewithproxytotherequestlibrary.importpostfrom'./post';exportdefaultclasscommunication{getData(data,success,error){constres=post(data);if(res
我正在尝试测试一个使用WebSockets的库。我正在尝试使用下面的代码模拟websocket。库ROSController使用网络套接字,但我一直收到WebSocketisnotdefined.import{ROSController}from'../ROSController.jsx';varsocketMock;varwindowMock;varaddress='ws://test.address';beforeAll(function(){varWebSocket=jasmine.createSpy();WebSocket.and.callFake(function(url){
如有重复请见谅我知道MemoryRouter有initialEntries和initialIndex,所以你可以为“location”和“history”设置路径等。但是“匹配”没有得到更新...我需要为我的React应用程序和Jest测试设置“匹配”。当我尝试时,我得到了match:{path:'/',url:'/',params:{}...},location:{path:'/hello',pathname:'/',...},history:{...,location:{path:'/hello',pathname:'/',...}}不知道有没有办法设置匹配。提前致谢。
这是我的错误代码:FAILbuild/__test__/FuncOps.CheckFunctionExistenceByString.test.js●expect(CheckFunctionExistenceByStr('anystring','FunctionThatDoesNotExistsInString')).toThrow();FunctionFunctionThatDoesNotExistsInStringdoesnotexistsinstring.atCheckFunctionExistenceByStr(build/FuncOps.js:35:15)atObject.(
每当任何jest测试失败时,我都想运行一个function/task。不是用try/catch包装我的所有测试或添加if检查,有没有一种方法可以利用afterEach?如果测试失败,那么我希望它失败,只需运行一个单独的函数。例如:test('navloadscorrectly',async()=>{constlistItems=awaitpage.$$('[data-testid="navBarLi"]')expect(listItems.length).toBe(4)if(listItems.length!==4)awaitpage.screenshot({path:'screens
我不确定如何为Jest测试组织代码。我的所有测试都在__tests__下,所有模拟都在__mocks__下。现在我有一些数据想在测试之间共享:它们不是现有函数的模拟,它们只是我想在不同文件中使用的一些javascript对象。我应该创建一个__data__目录吗?还是将它们放在__mocks__下?或者在__tests__目录下不在文件名中加入-test? 最佳答案 简短的回答是你想要的任何地方。JavaScript在其生命中经历了很多不同的阶段,也有很多不同类型的人在使用它。这可能就是为什么现在大多数工具都是高度可配置的,以允许个
我正在尝试测试一个需要像这样导入es6模块的文件:https://repl.it/HG9t/0看来我缺少一些使其正常工作的配置。如果您可以使用另一个单元测试框架轻松实现这一点,我也很感兴趣。预先感谢您的帮助。 最佳答案 安装所需的依赖项:yarnadd--devbabel-jest@babel/core@babel/preset-env或npminstall--save-devbabel-jest@babel/core@babel/preset-env在您的主文件夹中创建babel.config.js并将其粘贴到那里://babel
我想测试一个使用第3个库获取数据的JS,所以我使用jestmock该实现。当我在测试中直接调用它时它正在工作。但是,在源代码中使用时它不起作用。这是代码//Sourceimplementationvarreference=require('./reference');module.exports={getResult:function(){returnreference.result();}};//Testcodejest.dontMock('./foo');jest.dontMock('console');describe('descirbe',function(){varfoo=r