草庐IT

babel-jest

全部标签

javascript - 在本地使用 babel-cli

有没有办法在不全局安装的情况下使用babel客户端?所以而不是这个npminstall-gbabel-cli我想做这个npminstallbabel-cli--save-dev 最佳答案 可以在npmscripts中访问任何本地包的二进制文件就好像它是全局安装的://package.json{"scripts":{"build":"babel..."}}如果你想在命令行上执行二进制文件,你可以使用node_modules/.bin/的相对路径:$node_modules/.bin/babel...这与第一个示例相关:node_mod

javascript - 使用 jest.js 拦截导航更改(或如何覆盖和恢复 location.href)

应用程序代码正在调用location.href="some-url"。我想编写一个测试来验证导航重定向是否发生。在jsdom上使用jest,我尝试使用jest模拟函数覆盖location.hrefsetter来做到这一点,它正在工作。但现在我似乎无法在测试清理中恢复location.href属性,并且它无法通过依赖“location.href”的其余测试。it('testnavigationhappened',()=>{constoriginalLocationHref=Object.getOwnPropertyDescriptor(window.location,'href');//

javascript - 获取 `TypeError: jest.fn is not a function`

我正在尝试使用Jest创建以下单元测试。jest.dontMock("pointsAwardingActions.js");describe("pointsawardingactions",()=>{describe("awardpoints",()=>{it("shoulddispatchbeginajaxaction",()=>{varpointsAwardingActions=require("pointsAwardingActions.js");constmockedDispatch=jest.fn();});});});但在运行npmtest后我收到以下错误。TypeErro

javascript - Babel - 使用 transform-async-to-generator 插件时未定义 regeneratorRuntime

我无法正确设置babel以使用async/await。我正在使用babel7和webpack4。如果可能,我不想使用babel-polyfill!我的babelrc文件:{"presets":[["@babel/env",{"modules":false}]],"plugins":["syntax-dynamic-import","transform-async-to-generator"]}代码:asyncfunctioninit(){constloaderData=awaitinitLoader();initCmp(loaderData).then(initApi(loaderDa

javascript - 如何在 Jest 中重置手动模拟

我有一个crypto的手动模拟,如下所示://__mocks__/crypto.jsconstcrypto=jest.genMockFromModule('crypto')consttoString:Function=jest.fn(()=>{return{}.toString()})constmockStringable={toString}constupdate:Function=jest.fn(()=>mockStringable)constdeciper={update}crypto.createDecipheriv=jest.fn(()=>deciper)exportdefa

javascript - 使用 ES6、Webpack 和 Babel 导入 UMD 样式模块

我发现了一些与此相关的StackOverflow问题,但没有一个匹配或解决我的问题。我正在用ES6编写一个库,旨在用于浏览器和服务器。我找到了一些可以在服务器或浏览器上使用的HTTP请求库(popsicle,axios)。我已经在这两个地方成功地使用了这些库,但是在将它们导入我的源代码并使用输出的webpacked文件时遇到了一些问题。我导入axios库的ES6源文件是importaxiosfrom'axios';exportdefault{go:function(){returnaxios.get('http://www.google.com');}};我的webpack配置是var

javascript - jest snapshot 使用 enzyme 打破情绪 10/babel 7

所以我的开Jest快照可以正常工作,使用babel6/emotion9在快照中生成css和html但是我需要更新到babel7和emotion10但是我的enzyme快照测试不再有效。代码编译并在更新所需代码后工作正常,只是测试被破坏(迁移文档中没有显示与测试设置更新相关的任何内容)。test('rendersproperly',()=>{//thisworksgeneratingthecorrectcss/htmlsnapshotoutputexpect(renderer.create(test).toJSON()).toMatchSnapshot();//thisdoesnotco

javascript - 无法让 Jest 与包含主题的样式化组件一起工作

问题我一直在使用Jest和Enzyme使用很棒的StyledComponents为我的React组件构建编写测试图书馆。但是,由于我实现了主题化,所以我的所有测试都失败了。让我举一个例子。这是我的LooksBrowser的代码组件(我删除了所有导入和prop-types以使其更具可读性):constLooksBrowserWrapper=styled.div`position:relative;padding:0056.25%;`;constCurrentSlideWrapper=styled.div`position:absolute;top:0;left:0;z-index:2;`

javascript - 如何使用 jest 使用 Promise.all 设置多次提取测试

我正在使用jest进行测试。我正在使用react和redux,我有这个Action:functiongetData(id,notify){return(dispatch,...)=>{dispatch(anotherFunction());Promise.all(['resource1','resource2','resource3']).then(([response1,response2,response3])=>{//...handleresponses}).catch(error=>{dispatch(handleError(error));}};}我一直在Jest文档中寻找如

javascript - Jest : Mock ES6 Module with both default and named export

我有一个带有默认导出和命名导出的ES6模块:/**/src/dependency.js**/exportfunctionutilityFunction(){returnfalse;}exportdefaultfunctionmainFunction(){return'foo';}它被第二个ES6模块使用:/**/src/myModule.js**/importmainFunction,{utilityFunction}from'./dependency';//EDIT:Fixedsyntaxerrorincodesample//exportdefaultmyModule(){expor