草庐IT

API测试

全部标签

javascript - 如何使用 Redux-Saga 避免重复的 API 请求?

到目前为止,与其他Flux实现相比,我更喜欢Redux,并且我正在使用它来重写我们的前端应用程序。我面临的主要困难点:维护API调用的状态以避免发送重复请求。维护记录之间的关系。第一个问题可以通过在每种数据类型的子状态中保留一个状态字段来解决。例如:functionpostsReducer(state,action){switch(action.type){case"FETCH_POSTS":return{...state,status:"loading",};case"LOADED_POSTS":return{status:"complete",posts:action.posts,

javascript - 从 JSON 文件创建简单的 Node.js API

我有一个JSON文件文件夹,我想用它来创建一个简单的API。这是我的文件夹结构的简化版本:/clients.json/clients/1/client.json/clients/2/client.json...我的/clients.json文件如下所示:[{"id":1,"name":"JonParker"},{"id":2,"name":"GarethEdwards"},...]我的/clients/1/client.json文件如下所示:[{"date":"2014-09-12","score":40,...},{"date":"2015-02-27","score":75,...

javascript - 测试rxjs的正确方法

我带来了“rxjsinaction”这本书,刚刚完成了测试部分。测试rxjs代码与通常的测试不同,因为一切都是延迟加载。在书中,他们提到了两种测试方法,通过完成(我正在使用QUnit并且完成信号异步代码已完成)或大理石图。我的问题是,我应该选择上面提到的哪种方法? 最佳答案 我的同事经常问我这个问题。我终于抽出时间记录mywaysoftestingRxJsonmyblog.由于您的问题似乎与RxJs5有关,因此我只会在此处引用我帖子的相关部分。以RxJs4的方式在RxJs5中测试当您将代码库从RxJs4迁移到5时,您会发现很多东西已

javascript - 在 Rails 中进行 javascript 和 jQuery 测试的 JSpec vs Jasmine vs QUnit

我正在寻找一个与Rails3.0良好集成的javascript单元测试框架谁有使用过上述框架的经验可以分享他们的经验吗?**更新:根据他们的Github存储库,JSpec现已停产:http://github.com/visionmedia/jspec所以这就剩下Jasmine和QUnit 最佳答案 Jasmine与Rails3一起工作得很好,查看如何集成它:http://pivotallabs.com/users/dwfrank/blog/articles/1427-jasmine-in-rails-3

javascript - 使用 google maps api v3 自定义信息窗口框?

我正在尝试在googlemapsapi中使用自定义信息窗口框。如果那不可能,我想至少删除弹出窗口的圆Angular。这可能吗?我试过用InfoWindow({content:""+title+"",boxStyle:{styles}})但是boxStyle什么都不做。 最佳答案 您可以使用GoogleMapsUtilityLibrary中的信息框类.或者您可以编写一个自定义类来覆盖默认样式 关于javascript-使用googlemapsapiv3自定义信息窗口框?,我们在StackO

javascript - 网络音频 API : How Can I Re-start the Playback Of a Sound?

我在Chrome中编写了一个基本脚本,它使用新的WebAudioApi加载3个声音文件(通过XMLHTTPRequest)并单独播放每个文件。我为每种声音提供了一个单独的按钮,允许用户开始和停止每种声音。该脚本会立即加载所有三个声音文件,完成后,取消播放按钮的灰色,以便用户只能在声音准备就绪后点击播放。此外,声音是循环播放的,因此单击按钮时每个按钮上的标签会在“播放”和“停止”之间变化。这一切都很好...当您单击“播放”按钮时,您会听到循环播放的声音,而当您单击“停止”时,声音会停止。但是,当您第二次尝试重新播放相同的声音时,该声音不会再次开始播放。每次单击“播放/停止”按钮时,都会调

google-maps-api-3 - Javascript 将参数传递给回调或在 DistanceMatrixStatus 中设置变量值

我一直在玩Google的DistanceMatrixService。下面的代码有效,但是,如何将另一个参数传递给回调函数或从回调函数中获取其中一个值?例如:我有两个div,我想在(Results1和Results2)中显示不同的结果,所以我想我需要要么将另一个值传递给GoogleMapDistance函数,例如GoogleMapDistance(YourLatLong,DestLatLong,TheDiv)或者能够在回调外部获取ResultStrdocument.getElementById("Results1").innerHTML=ResultStr;或者将innerHTM设置为函

javascript - AngularJS Karma 测试 - 测试时传递给 Controller ​​的解析对象未定义

我们正在使用ui-router0.2.10。我将一个解析对象作为参数注入(inject)到我的Controller中,然后在Controller中设置一个范围变量。它像这样在应用程序上完美运行:状态提供者$stateProvider.state('myState',{resolve:{foo:function(){return'bar';},url:'/',templateUrl:'index.html',controller:'FooCtrl'})控制者app.Controllers.controller('FooCtrl',['$scope','$state','foo',func

javascript - Jasmine 测试在 Chrome 和 Firefox 中通过,但在 PhantomJS 中失败

我正在使用React构建一个基本的博客应用程序。我正在使用Jasmine和Karma来运行我的前端测试。我启动并运行了第一个测试,它在Chrome(Chromium)和Firefox中通过了测试,但是当它在PhantomJS中运行时,我收到以下错误:PhantomJS1.9.8(Linux0.0.0)ERRORTypeError:'undefined'isnotafunction(evaluating'ReactElementValidator.createElement.bind(null,type)')at/home/michael/repository/short-stories

javascript - 使用 Protractor 进行 Chrome 仿真测试的有效设备名称是什么?

普遍的网络共识似乎是,如果您在chrome模拟器中看到一个名称,您可以在Protractor配置中按原样使用它...所以我尝试了AppleiPad:{browserName:'chrome',chromeOptions:{mobileEmulation:{deviceName:'AppleiPad'}}}但我不得不四处乱逛,直到反复试验得出正确的设备名称为:AppleiPad3/4现在我在这里搜索:https://developer.chrome.com/devtools/docs/device-mode#enable-device-mode在这里:https://sites.goog