Tag: mocha

摩卡+ RequireJS = AMDtesting

我有一个很难将摩卡连接到基于RequireJS的应用程序,可能你会想出一些东西:)。 几个小时后,我一直试图加载AMD模块,只是console.log一些'已解除'的信息,该模块已被加载…没有发生事情发生了 – 程序刚刚结束,打印出一些摩卡信息。 var facade = requirejs(['../../public/js/scripts/widgets/widgets/article/main.js'], function(mod) { console.log('fired') }); // run with: $ mocha -u tdd test.js –reporter spec 而且我想出了这个想法来testingcallback: setTimeout((function() { console.log('fired'); }), 5000); // run with: $ mocha -u tdd test.js –reporter spec 也没有工作。 所以最后我已经跑了 $ node test.js 最后它的工作。 所以问题是: 如何使用callback处理来运行Mochatesting,因为这些对于AMDtesting是必不可less的。

“mpromise(mongoose的默认承诺库)已弃用”testing时出错

有一段时间我得到这个错误,我决定今天修复它,但一小时后,试图解决它,我可以find解决scheme。 当我testing我的mongoose用户模型时,会产生这个错误/警告: Mongoose: mpromise (mongoose's default promise library) is deprecated, plug in your own promise library instead: http://mongoosejs.com/docs/promises.html 这是我的testing: 1 var assert = require('chai').assert; 2 var mongoose = require('mongoose'); 3 var clearDB = require('mocha-mongoose')(require('../../config/database').uri, { skip: ['workouts'] }); 4 var database = require('../../config/database').connect; 5 6 var User = require('../../app/models/user'); 7 var user = new User({}); […]

检测不需要的function(fdescribe,describe.only)作为Gulp任务

如何在Node中检测代码库中不需要的函数的使用,特别是Gulp? 我正在检查无意中损坏的规格,即ddescribe / fdescribe和iit / fit茉莉花或.only和.skip为摩卡: // should be reported fdescribe(function () { // should not be reported it(function () { var fit = …; this.fit = …; }); // should not be reported // fit(function () { … }); // should be reported xit(function () { … }); // should be reported fit(function () […]

在node.js服务器上读取supertest / superagent的响应输出缓冲区/stream

我正在尝试编写一个testing,检查API路由是否输出正确内容的ZIP文件。 我正在使用mocha和supertest进行testing,我想实际读取输出stream/缓冲区,读取zip文件的内容,看看内容是否正确。 任何想法我应该怎么做? 当我尝试阅读res.body ,它只是一个空的对象。 request(app) .get( "/api/v1/orders/download?id[]=1&id=2" ) .set( "Authorization", authData ) .expect( 200 ) .expect( 'Content-Type', /application\/zip/ ) .end( function (err, res) { if (err) return done( err ); console.log( 'body:', res.body ) // Write the temp HTML file to filesystem using utf-8 encoding var zip = new AdmZip( res.body ); var zipEntries […]

如何testing节点中的事件发射器

可以说我想写这个简单的任务。 但我想写一个testingvalidation: 这个任务发射物体。 对象有一个属性名称。 我正在testing摩卡和柴期望。 提前致谢。 我已经尝试了所有可能的变体,但不能提出解决scheme。 var util = require('util'), EventEmitter = require('events').EventEmitter; function SomeTask() { var self = this; setInterval(function() { self.emit('data', { name: 'name' }); }, 5000); } util.inherits(SomeTask, EventEmitter); module.exports = SomeTask;

摩卡和僵尸

我正在开始一个nodejs项目,并想与Mocha和Zombiejs一起做BDD。 不幸的是,我对这句话中的每一个stream行语都是新的。 我可以让Mocha和Zombiejs正常运行testing,但是我似乎无法整合这两者 – 是否可以使用Mocha来运行Zombiejstesting,如果是这样,那将如何呢? 只是寻找“你好世界”让我开始,但一个教程/例子会更好。 谢谢!

nodejs摩卡套件没有定义错误

我尝试使用摩卡运行一些testing,但似乎无法克服这个错误。 E:\tdd\nodejs\cart>mocha cart.test.js node.js:201 throw e; // process.nextTick error, or 'err ^ ReferenceError: suite is not defined at Object.<anonymous> (E:\tdd\nodejs\cart\cart.test.js:5:1 at Module._compile (module.js:432:26) at Object..js (module.js:450:10) at Module.load (module.js:351:31) at Function._load (module.js:310:12) at Module.require (module.js:357:17) at require (module.js:368:17) at C:\Users\lex\AppData\Roaming\npm\node_module at Array.forEach (native) at load (C:\Users\lex\AppData\Roaming\npm\node_ 9) at Object.<anonymous> (C:\Users\lex\AppData\Roa in\_mocha:237:1) at Module._compile (module.js:432:26) at […]

如何在多个文件中设置摩卡testing用例的执行顺序

我有两个包含摩卡testing用例的java脚本文件。 //———-abc.js ————- describe("abc file", function(){ it("test 1" , function(){ assert.equal(20 , 20); }); }); //———xyz.js————– describe("xyz file", function(){ it("test 1" , function(){ assert.equal(10 , 10); }); }); 我把它们放到一个名为test的文件夹中,当我执行mocha命令时,总是执行第一个文件(abc.js)的内容,然后执行xyz.js. 我认为这可能按照词汇顺序,并将其更名为 abc.js => xyz.js xyz.js => abc.js 但是现在xyz.js的内容(以前被命名为abc.js)首先被执行。 我想知道如何改变这些testing文件的执行顺序。

我怎样才能检查两个对象具有相同的一组属性名称?

我正在使用节点,摩卡和柴为我的应用程序。 我想testing我返回的结果数据属性是与我的模型对象之一相同的“对象types”。 (非常类似于柴的实例)。 我只想确认这两个对象具有相同的一组属性名称。 我特别对这些房产的实际价值不感兴趣。 比方说,我有像下面的模型人。 我想检查我的results.data具有与预期模型相同的属性。 所以在这种情况下,Person有一个firstName和lastName。 所以如果results.data.lastName和results.data.firstName都存在,那么它应该返回true。 如果任何一个不存在,它应该返回false。 如果results.data具有诸如results.data.surname之类的任何其他属性,则奖励将会是,那么它将返回false,因为在Person中不存在姓氏。 该模型 function Person(data) { var self = this; self.firstName = "unknown"; self.lastName = "unknown"; if (typeof data != "undefined") { self.firstName = data.firstName; self.lastName = data.lastName; } }