草庐IT

karma-mocha

全部标签

javascript - karma : Can't find variable: exports

我写了一个可以同时用于后端和客户端的Node模块(exports||window).Bar=(function(){returnfunction(){....}})();现在我的karma测试使用PhantomJs并提示不存在的exports变量gulp.task('test',function(){varkarma=require('karma').server;karma.start({autoWatch:false,browsers:['PhantomJS'],coverageReporter:{type:'lcovonly'},frameworks:['jasmine'],fi

javascript - 使用依赖注入(inject)和 `done` 编写 Karma + Mocha 测试?

在既有依赖注入(inject)又完成的mocha中编写Karma单元测试的最优雅的方法是什么?依赖注入(inject):describe('cows',function(){it('fartsalot',inject(function(cow){//dostuff}))})完成:describe('cows',function(){it('fartsalot',function(done){//dostuff})})如果我想在我的单元测试中同时使用cow和done怎么办?现在,这就是我正在做的,但并不令人满意。beforeEach(inject(function(cow){this.c

javascript - 如何在 mocha 中使用 should() 的 OR 条件

我想使用两个值进行比较,这样如果其中一个为真,那么我的测试应该通过。使用下面的代码只是比较第一个条件并且测试失败。if(typeoflng!=='undefined'){data.lng.should.equal(lng)||data.cityLng.should.equal(lng);我应该怎么做? 最佳答案 试试这个:if(typeoflng!=='undefined'){lng.should.be.equalOneOf(data.lng,data.cityLng);参见documentation.

javascript - 如何封装mocha `expect()`代码?

我正在尝试测试是否存在一些我希望在所有测试中都需要的api响应属性(status和data属性)。这是一个通用测试,它断言supertest中的所需属性expect()方法:it('shouldcreateawidget',done=>{letstatus=200;request(test_url).post('/api/widgets').set('Authorization',`Bearer${token}`).send({sku:my_widget_data.sku,name:my_widget_data.name,description:''}).expect(res=>{as

javascript - mocha js 断言在使用 promise 时挂起?

"usestrict";letassert=require("assert");describe("Promisetest",function(){it('shouldpass',function(done){vara={};varb={};a.key=124;b.key=567;letp=newPromise(function(resolve,reject){setTimeout(function(){resolve();},100)});p.then(functionsuccess(){console.log("success---->",a,b);assert.deepEqual

javascript - 使用 Sinon/Mocha 正确 stub 请求/响应

我对后端单元测试比较陌生,需要一些关于如何对以下内容进行单元测试的指导。我正在使用Mocha/Should/Sinon。exports.get=function(req,res){if(req.query.example){returnres.status(200).json({success:true});}else{returnres.status(400).json({error:true});}} 最佳答案 您可以使用Sinon的spy和stub函数来测试您的代码,如下所示:const{spy,stub}=require('

javascript - Angular Karma Jasmine - 测试功能

基本上我必须测试下面这个函数,我正在从文本文件中读取$window.resolveLocalFileSystemURL(cordova.file.dataDirectory,function(dir){varpath='somefile.txt';dir.getFile(path,{create:true},function(file){file.file(function(file){varreader=newFileReader();reader.onloadend=function(){resolve(this.result);}reader.readAsText(file);}

javascript - 如何使用 mocha/chai/chai-as-promised 测试 ES7 异步函数

我有以下功能要测试://...constlocal=newWeakMap();exportdefaultclassUser{//...asyncpassword(password){if(!password)returnlocal.get(this).get('hash');//removethisforsecurityreasons!if(password.length现在我想用mocha测试这个函数,chai和chai-as-promised做这个测试用例:importchaifrom'chai';importchaiAsPromisedfrom'chai-as-promised'

javascript - 如何让 Karma + Webpack 找到模块?

在webpack通过Karma测试运行器将它们组合在一起后,我想在一堆模块上运行我的测试,但是每当我运行我的测试时,Karma都会说,"Error:Cannotfindmodule"hello.js"athttp://localhost:9877/base/src/hello.spec.js?d301966ffc1330826574d9d8fff5a644c3390c68:47"我有一个规范文件:vara=require('hello.js');describe("atesttest",function(){it("humperdinktest",function(){expect(a

javascript - Angular.js promise 在使用 karma 进行单元测试服务时不会解析

我正在尝试对Angular.js服务进行单元测试,并且需要对从模拟服务(使用Jasmine)返回的promise设置期望。我正在使用karma单元测试框架。相关代码片段如下://Ican'tfigureouthowtodotheequivalentofa$scope.$digesthere.varloginStatusPromise=FacebookService.getFacebookToken();loginStatusPromise.then(function(token){expect(false).toBeTruthy();//Ifthistestpasses,thereis