草庐IT

unit-testing

全部标签

javascript - Karma 中的单元测试 : Keypress inside a text Input

有一个简单的html文本输入:testcharacter.init();希望能够在此文本输入内发生的每个按键上运行单元测试,并根据特定键检查它。Javascript文件是:'usestrict';window.testcharacter=window.testcharacter||{};(function(){vartestcharacter=function(k){vars=document.getElementById('inputstring').valueif(s!=null||s.trim()!=""){if(k==65){document.getElementById('r

javascript - 如何在不污染全局命名空间的情况下公开 javascript 对象进行单元测试

我有一个javascript自动完成插件,它使用以下类(用coffeescript编写):Query、Suggestion、SuggestionCollection和Autocomplete。这些类中的每一个都有一个用Jasmine编写的相关规范。插件在模块中定义,例如:(function(){//plugin...}).call(this);这可以防止类污染全局命名空间,但也可以将它们隐藏在任何测试中(使用jasmine的规范,或使用类似q-unit的单元测试)。在不污染全局命名空间的情况下公开javascript类或对象以进行测试的最佳方法是什么?我会用我想出的解决方案来回答,但我

javascript - Maven 的 Mocha 插件

正在处理一个在(基于Java的)ApacheMaven环境下运行的项目。前端正在利用Mocha测试,我希望能够从Maven运行其余部分...有什么想法吗?Mocha:http://visionmedia.github.com/mocha/专家:http://maven.apache.org/ 最佳答案 当你说前端时,你指的是浏览器吗?也许这与您想要的略有不同,但我之前已经让Maven与Selenium+Jasmine一起工作。带有selenium插件的Maven执行用于报告的浏览器实例。然而,这些测试是从浏览器运行的,它们不会挂回到

javascript - 如何用 sinon 模拟 hapi.js 回复以进行单元测试

是否有简单的方法来模拟hapi回复对象/函数以便于进行单元测试?我看到的hapi示例都使用server.inject和“实验室”框架进行测试。我很想知道如何继续使用mocha,并希望直接测试Controller而不是注入(inject)服务器。我应该使用sinon来模拟回复对象吗?测试/post.jsbefore(function(){PostController=proxyquire('../controllers/post',{'mongoose':mongooseMock});});it('shouldbeabletocreateapost',function(done){var

javascript - 在另一个项目中使用 marble testing rxjs5 方法

我有一个webapp项目,它使用rxjs5来实现flux我目前正在寻找为其编写单元测试的解决方案。其实我已经在里面实现了自定义的observables,例如:functiongetActivityObservable(events,timeout){returnObservable.create((observer)=>{constdeb=debounce(()=>observer.next(false),timeout||DEFAULT_TIMEOUT);constsub=events.subscribe((e)=>{if(!e){deb.cancel();observer.next

javascript - 如何使用 practicalmeteor :mocha 对 meteor 方法进行单元测试

我正在为meteor编写单元测试做噩梦。有太多旧的、过时的文章和太少的清晰、相关的文档,我无法弄清楚我真正需要做什么才能让它发挥作用。我遇到了一个又一个问题,只是真的希望有人能告诉我他们如何为我的一种方法编写测试,这样我就可以看到他们做了什么,并对我的其余方法进行逆向工程。这是我想为其编写测试的方法:Meteor.methods({'client.new':(clientDetails)=>{check(clientDetails,{name:String,numberTeamMembers:String});clientDetails.teamMembers=[];if(!Meteo

javascript - 如何多次断言 stub 提取

使用proxyquire、sinon和mocha。我能够在第一次调用fetch时stubfetch。但是在递归的第二个获取调用中,我无法断言它。从输出来看,断言可能会在测试完成之前运行。您将在断言后通过secondfetch控制台看到这一点。索引.jsvarfetch=require('node-fetch');functiona(){console.log('functionaruns');fetch('https://www.google.com').then((e)=>{console.log('firstfetch');b();}).catch((e)=>{console.lo

javascript - 如何创建一个可模拟的类来连接到 mongoDB?

我已经尝试创建一个类来连接到mongoDB(并使用(gridfs-stream)获得gridFS连接)。但是我确实遇到了两个问题:我有时会收到mongo错误serverinstanceininvalidstateconnected我不可能模拟这个类-使用jestJS所以如果有人可以帮助我优化这个类以获得一个真正扎实的工作类,我将非常感激。例如,我不喜欢connect()函数中的letthat=this。Examplerepo数据库类constmongo=require('mongodb')constGrid=require('gridfs-stream')const{promisify

javascript - sinon.stub() vs sinon.sandbox.stub()?

在我们的前端单元测试中使用sinon和sinon-qunit,我很难理解这些方法的区别。我们正在使用sinon.sandbox.stub()(字面意思是函数,我们不创建沙箱)并且这些stub显然会在每次测试后自动恢复。我只是在文档中的任何地方都看不到这一点。我不认为存在这种方法,我认为您需要使用sinon.sandbox.create()显式创建沙箱。在该沙箱对象上,您将调用stub函数,即mySandbox.stub(),而不是"sinon.sandbox.stub()"。谁能帮我理解一下? 最佳答案 stub-Sinon.JSs

javascript - "clock"指令的 Angular 单元测试 $interval

我有一个Angular指令“时钟”,我正在尝试编写一个单元测试以查看时钟$interval是否真的提前到future时间(即:通过查看element.text()2分钟).我通过了当前时间的测试,现在我想测试它是否会通过$interval.flush显示future的时间。在我看来$interval.flush并没有真正推进时钟。我可以要求两个答案吗:如果$interval触发,我如何进行单元测试?为什么$interval.flush似乎没有推进Date()?我遵循这些帖子中的指南:howtounit-testsetIntervalinkarmaangularjshttp://www.