草庐IT

Karma-mocha

全部标签

javascript - 使用 mocha/chai 进行测试时收到 UnhandledPromiseRejectionWarning

所以,我正在测试一个依赖于事件发射器的组件。为此,我想出了一个使用Promises和Mocha+Chai的解决方案:it('shouldtransitionwiththecorrectevent',(done)=>{constcFSM=newCharacterFSM({},emitter,transitions);lettimeout=null;letresolved=false;newPromise((resolve,reject)=>{emitter.once('action',resolve);emitter.emit('done',{});timeout=setTimeout(

javascript - 使用 Mocha 和 Node.js 对私有(private)函数进行单元测试

我正在使用Mocha为了对为Node.js编写的应用程序进行单元测试。我想知道是否可以对尚未在模块中导出的函数进行单元测试。示例:我在foobar.js中有很多这样定义的函数:functionprivate_foobar1(){...}functionprivate_foobar2(){...}还有一些导出为公共(public)的函数:exports.public_foobar3=function(){...}测试用例的结构如下:describe("private_foobar1",function(){it("shoulddostuff",function(done){varstuf

node.js - 如何使用 mocha 和 chai 正确测试 Promise?

以下测试表现异常:it('Shouldreturntheexchangeratesforbtc_ltc',function(done){varpair='btc_ltc';shapeshift.getRate(pair).then(function(data){expect(data.pair).to.equal(pair);expect(data.rate).to.have.length(400);done();}).catch(function(err){//thisshouldreallybe`.catch`forafailedrequest,but//insteaditlook

node.js - 在mocha测试中调用异步函数如何避免超时错误: timeout of 2000ms exceeded

在我的Node应用程序中,我使用mocha来测试我的代码。在使用mocha调用许多异步函数时,出现超时错误(Error:timeoutof2000msexceeded.)。我该如何解决这个问题?varmodule=require('../lib/myModule');varshould=require('chai').should();describe('TestingModule',function(){it('SaveData',function(done){this.timeout(15000);vardata={a:'aa',b:'bb'};module.save(data,f

unit-testing - 如何为 mocha 指定测试目录?

Mocha默认情况下尝试在test下查找测试文件,如何指定另一个目录,例如服务器测试? 最佳答案 使用这个:mochaserver-test或者,如果您有子目录,请使用:mocha"server-test/**/*.js"注意使用双引号。如果省略它们,您可能无法在子目录中运行测试。 关于unit-testing-如何为mocha指定测试目录?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/quest

node.js - Mocha 的代码覆盖率

我正在使用Mocha来测试我的NodeJS应用程序。我无法弄清楚如何使用它的代码覆盖率功能。我试着用谷歌搜索它,但没有找到任何合适的教程。请帮忙。 最佳答案 你需要一个额外的库来覆盖代码,你会被它的强大和简单所震撼istanbul是。在通过mocha测试后尝试以下操作:npminstallnyc现在,只需将命令nyc放在现有测试命令的前面,例如:{"scripts":{"test":"nycmocha"}} 关于node.js-Mocha的代码覆盖率,我们在StackOverflow上找

javascript - Mocha 如何知道在测试套件中首先加载哪个文件

我正在尝试使用MongodB学习测试驱动方法。文件夹结构一个user.js在src文件夹中测试constmongoose=require('mongoose');mongoose.Promise=require('bluebird');constSchema=mongoose.Schema;constUserSchema=newSchema({name:String});constUser=mongoose.model('user',UserSchema);module.exports=User;test_helper.js的内容constmongoose=require('mongo

javascript - Mocha 如何知道在测试套件中首先加载哪个文件

我正在尝试使用MongodB学习测试驱动方法。文件夹结构一个user.js在src文件夹中测试constmongoose=require('mongoose');mongoose.Promise=require('bluebird');constSchema=mongoose.Schema;constUserSchema=newSchema({name:String});constUser=mongoose.model('user',UserSchema);module.exports=User;test_helper.js的内容constmongoose=require('mongo

docker - karma phantomjs 未在 docker 容器中捕获

我无法让phantomjs在Alpinedocker容器中捕获karma。我正在使用节点6.10.2。我已经从here安装了phantomjsalpine.我正在使用以下版本:"karma":"^1.6.0","karma-coverage":"^1.1.1","karma-mocha":"^1.0.1","karma-mocha-reporter":"^2.0.0","karma-phantomjs-launcher":"^1.0.4","karma-webpack":"^2.0.3",在我的容器内运行测试时,我看到以下输出。(已删除时间戳)INFO[karma]:Karmav1.6

mongodb - 在运行 Mocha 测试之前删除 MongoDB 数据库

如果我尝试使用after(在我的测试结束时)删除数据库,它会起作用。如果我尝试以下操作:vardb=mongoose.connect('mongodb://localhost/db-test')describe('Database',function(){before(function(done){db.connection.db.dropDatabase(function(){done()})})...它不会删除数据库。到底是怎么回事?我宁愿在开始测试之前删除数据库——以便在测试后我可以探索数据库。 最佳答案 通过在另一个定义中连