我有一个问题,关于如何使用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
我正在使用create-react-app并尝试编写一个jest测试来检查console.log的输出。我要测试的功能是:exportconstlog=logMsg=>console.log(logMsg);我的测试是:it('console.logthetext"hello"',()=>{console.log=jest.fn('hello');expect(logMsg).toBe('hello');});这是我的错误FAILsrc/utils/general.test.js●console.logthetexthelloexpect(received).toBe(expected
我有一个组件使用来自ReactNative的Animated组件。我开始编写一个测试用例来模拟组件的onPress,它调用一个函数,其中包含Animated.timing和setState。运行jest工作正常,但测试永远不会停止运行,而且我之前编写的一个不相关的测试用例现在似乎从未通过(之前通过)。运行jest--watch,我得到这个错误:ReferenceError:Youaretryingto`import`afileaftertheJestenvironmenthasbeentorndown.atFunction.bezier(node_modules/react-nativ