草庐IT

api测试

全部标签

Java Streams API 的 Javascript 等价物

我喜欢Java8的流式API。有很多有用的中间和终端方法来转换和收集流。我说的是像distinct()这样的中间方法或像collect()这样的终端方法。我发现CollectorAPI特别有用,可以将流减少到深度分组映射。Java流API的javascript等价物是什么?我知道有map、filter和reduce等基本功能,但是没有找到javascriptnative提供的更通用的接口(interface)来查询或对集合中的数据进行分组。是否有一些生产就绪的库可以匹配JavaStreamingAPI? 最佳答案 java8stre

javascript - 使用 Fetch API 和 fs.createWriteStream 对文件进行流式响应

我正在创建一个Electron应用程序,我想将图像流式传输到一个文件(所以基本上是下载它)。我想使用原生的FetchAPI,因为请求模块会是一个很大的开销。但是响应没有管道方法,所以我不能做类似的事情fetch('https://imageurl.jpg').then(response=>response.pipe(fs.createWriteStream('image.jpg')));那么如何结合使用fetch和fs.createWriteStream呢? 最佳答案 我成功了。我创建了一个将响应转换为可读流的函数。constres

javascript - 使用 Jasmine 或任何其他替代方案在 Node 上运行测试 .mjs/ESM

由于--experimental-modulesCLI开关(即node--experimental-modules),我的基于Node的项目是在Node上使用原生ES模块支持实现的.显然,当我使用Jasminenode--experimental-modules./node_modules/jasmine/bin/jasmine运行规范时,出现以下错误:Error[ERR_REQUIRE_ESM]:MustuseimporttoloadESModule是否可以在Node中通过ES模块使用Jasmine?如果不是,是否有任何替代方法不使用框架(例如,使用npm脚本运行测试)?

javascript - 使用 Jest 和 enzyme 进行 IndexedDB 测试 - ReferenceError : indexedDB is not defined

我正在为我的应用程序寻求单元测试方面的帮助,我正在使用indexedDB。在我实现indexedDB功能之前,测试是正确的。但是现在,对于所有这些,我都看到一个错误:ReferenceError:indexedDBisnotdefined有人可以给我建议如何消除该错误吗?我正在搜索信息,并尝试了不同的方法来模拟window或indexedDB,但没有结果。 最佳答案 这个问题是由于Dexie期望window.indexedDB被定义,当以没有真正的DOM或的headless模式(使用Jest)运行时,情况并非如此窗口范围。在Dexi

javascript - 在 React 中隐藏 API key

首先我想说我遵循了此处的所有建议HowdoIhideAPIkeyincreate-react-app?但他们都没有工作。我已经搜索了一个多小时,试图找到答案,但一无所获。下面是我的解释。我使用create-react-app搭建我的项目我正在使用Googlemap,还没有使用过任何其他API我在项目的根目录下创建了一个.env文件在该文件中,我添加了REACT_APP_GOOGLE_MAPS_API_KEY=apikey在我的组件文件Map.js中,我添加了constGM_API_KEY=${process.env.REACT_APP_GOOGLE_MAPS_API_KEY};(刻度线

javascript - 如何构建异步函数的测试?

我习惯于使用标准的NodeJsassert库编写Mocha测试,如下所示:describe('Somemodule',()=>{varresult=someCall();it('Should',()=>{assert.ok(...);});})但现在我的电话返回了一个promise......所以我想写:describe('Somemodule',async()=>{varresult=awaitsomeCall();it('Should',()=>{assert.ok(...);});})但它不起作用。我的测试根本不运行。奇怪的是,describe('Somemodule',asyn

javascript - 如何在所有 api 响应之前以 Angular 7 在页面加载中显示加载指示器?

我在一个页面中有5个API调用。一些api需要20秒才能给出响应。有些需要30秒才能做出回应。有些需要10秒,所以当第一个api给出响应时,第一个api将加载指示器设置为false。然后加载指示器消失。但其他api仍在工作我想显示加载指示器,直到五个api调用响应。你能给我一些完成任务的想法吗?代码:组件.tsloading=true;ngInit(){this.api1();this.api2();this.api3();this.api4();this.api5();}api1(){this.loading=true;this.apiService.api1.subscribe(r

javascript - 在 Chrome 扩展中从 JavaScript 调用网站 API 时出现跨域错误

我正在开发一个小型Chrome扩展程序,它将调用RemembertheMilkAPI。谷歌有一个goodexample使用FlikrAPI,我将其用作扩展的基础。他们的示例在我的浏览器(Linux上的最新Chrome)中完美运行。但是,当我换出RemembertheMilkAPI方法名称和APIkey时,出现以下错误:XMLHttpRequestcannotloadhttp://api.rememberthemilk.com/services/rest/?method=rtm.test.echo&api_key=xxxxxxxxxxxxxxxxxxxxxx&name=Test%20ta

javascript - 实现 JavaScript API 包装器

谁能推荐一种可用于编写JavaScriptAPIwrapper的模式,其中多个实现之间没有共享代码?这个想法是为客户端消费者提供一个单一的包装API,用于在运行时确定的许多可能的API之一。API调用可以是对应用程序环境中已有的对象/库的调用,也可以是Web服务调用。以下伪代码是我考虑过的两种方法:整体解决方案varapiWrapper={init:function(){//*runtime*contextofwhichAPItocallthis.context=App.getContext();},getName:function(){switch(context){casea:re

javascript - 测试来自 Backbone.View 的触发点击,它会打开一个新的 Backbone.View

我有两个主干View,MainView和PopupView。MainView包含一个帮助按钮。当帮助按钮处理程序被触发时,它会显示Backbone.View。我的问题是我应该如何从MainView模块测试这个行为?这是我关于MainView的代码:varMainView=Backbone.View.extend({events:{'click#help':'showPopUp'},showPopUp:function(){varpopupView=newPopupView();app.vent.trigger('showModal',popupView);}});这是我关于mainVi