草庐IT

mocha-webpack

全部标签

node.js - Mocha 怎么知道只有我的异步测试才能等待和超时?

当我使用Mocha进行测试时,我经常需要同时运行异步和同步测试。Mocha很好地处理了这个问题,让我可以在我的测试异步时指定回调,done。我的问题是,Mocha如何在内部观察我的测试并知道它应该等待异步事件?只要我在测试函数中定义了回调参数,它似乎就在等待。您可以在下面的示例中看到,第一个测试应该超时,第二个应该在user.save调用匿名函数之前继续并完成。//Inanasynctestthatdoesn'tcalldone,mochawilltimeout.describe('User',function(){describe('#save()',function(){it('s

node.js - 如何检测是否在 node.js 中运行 mocha 测试?

我想确保如果代码在测试模式下运行,它不会(意外)访问错误的数据库。检测代码当前是否在测试模式下运行的最佳方法是什么? 最佳答案 正如评论中已经提到的,在构建代码时了解测试是不好的做法。我什至在SO甚至外面都找不到提到的话题。但是,我可以想办法检测在测试中启动的事实。对我来说mocha并没有将自己添加到global范围内,而是添加了global.it。所以你的支票可能是varisInTest=typeofglobal.it==='function';我建议确保您不要误检以检查您最有可能在您的Node中使用的global.sinon和g

javascript - 我可以检测我的脚本是否正在被 Webpack 处理吗?

我正在尝试在React中使用同构渲染,以便可以将静态HTML作为文档输出为我的应用程序。问题是我有一个仅在客户端上运行的特定组件,因为它引用了window。解决方案很明显:不在服务器上渲染它。是的,我不能在服务器上渲染它,但我仍然需要将它包含在我的webpack包中,以便我可以在客户端上渲染它。问题是,阻止我的组件在服务器上呈现的代码是:functionisServer(){return!(typeofwindow!='undefined'&&window.document);}但是isServer()在webpack捆绑时也是true,我希望它在webpack正在运行。那么,我如何检

javascript - 在运行下一个测试之前让 Mocha 等待

我有一些mocha测试需要来自先前函数调用的数据。但是,由于我的代码使用的是Web服务,因此我希望它在运行下一个测试之前等待一段预定的时间。类似这样的:varglobal;it('shouldgivesomeinfo',function(done){run.someMethod(param,function(err,result){global=result.globaldone();});});wait(30000);//basicallyblockitfromrunningthenextassertionit('shouldgivemoreinfo',function(done){

javascript - 用 Mocha 测试 Promise 链

我有以下风格的函数(在Node.JS下使用bluebirdpromises):module.exports={somefunc:Promise.method(functionsomefunc(v){if(v.data===undefined)thrownewError("Expectingdata");v.process_data="xxx";returnmodule.exports.someother1(v).then(module.exports.someother2).then(module.exports.someother3).then(module.exports.some

javascript - Gulp,Mocha,观看不重新加载我的源文件

我正在尝试让gulp工作以帮助自动化一些单元测试。我有以下gulp文件。vargulp=require('gulp'),mocha=require('gulp-mocha');gulp.task('unit',function(){returngulp.src('test/unit/**/*.js').pipe(mocha({reporter:'spec'})).on('error',handleError);});gulp.task('watch',function(){gulp.watch(['src/**/*.js','test/unit/**/*.js'],['unit']);

node.js - express 中间件测试 mocha chai

有没有办法在express中测试这些中间件:module.exports=functionlogMatchingUrls(pattern){returnfunction(req,res,next){if(pattern.test(req.url)){console.log('requesturl',req.url);req.didSomething=true;}next();}}我发现的唯一中间件测试是:module.exports=function(request,response,next){/**DosomethingtoREQUESTorRESPONSE**/if(!reque

javascript - CLI 移至单独的包 : webpack-cli

我是React.js的新手,我正在尝试从tutorialspoint上的教程中学习但我遇到了错误。这是我执行npmstart命令时控制台上的错误:C:\Users\HP\Desktop\reactApp1>npmstart>reactapp1@1.0.0startC:\Users\HP\Desktop\reactApp1.>webpack-dev-server--hotTheCLImovedintoaseparatepackage:webpack-cli.Pleaseinstall.webpack-cli.inadditiontowebpackitselftousetheCLI.->W

node.js - 未找到 Webpack,正在部署到 Heroku

Node新手,部署到Heroku。我设置了一个基本的React应用程序,并正在尝试部署到Heroku。我已经推送了,但是应用程序失败了。当我查看日志时,我看到了一些关于sh:1:webpack:notfound(完整日志here)我不太确定发生了什么,但我相信它与我的package.json有关吗?从我使用的入门模板中,它是这样的:{"name":"express-react-redux-starter","version":"1.0.0","description":"StarterforExpress,React,Redux,SCSSapplications","scripts":

javascript - Mocha : create and finalize test programmatically

我想实时代理在其他环境中运行的测试结果。下面是一些我想要实现的伪代码:vartest=proxy.getCurrentTest();//=>{slow:200,timeout:2000,duration:235,result:'error'};vartmpIt=it('test1',function(){this.slow(test.slow);this.timeout(test.timeout);});tmpIt.close({duration:test.duration,result:test.result});//thisshouldmakethistestredintheout