Tag: unit testing

节点(Gulp)process.stdout.write到文件

我正在尝试为我进行unit testing,并将testing覆盖率输出到.lcov文件。 这是我迄今为止: gulp.task('test', function () { var test = fs.createWriteStream('./test.lcov', {flags: 'a'}); return gulp.src('./assets/js/test/test.js', {read: false}) .pipe(mocha({reporter: 'mocha-lcov-reporter'})) .pipe(test); }); mocha-lcov-reporter代码可以在这里find: https : //github.com/StevenLooman/mocha-lcov-reporter/blob/master/lib/lcov.js 它通过process.stdout.write()输出结果 但是,当我pipe这个到一个WriteStream我有以下错误: TypeError: Invalid non-string/buffer chunk at validChunk (_stream_writable.js:152:14) at WriteStream.Writable.write (_stream_writable.js:181:12) at Stream.ondata (stream.js:51:26) at Stream.emit (events.js:95:17) at drain (/Users/braunromain/Documents/dev/should-i-go/node_modules/gulp-mocha/node_modules/through/index.js:36:16) at Stream.stream.queue.stream.push (/Users/braunromain/Documents/dev/should-i-go/node_modules/gulp-mocha/node_modules/through/index.js:45:5) at Stream.stream (/Users/braunromain/Documents/dev/should-i-go/node_modules/gulp-mocha/index.js:27:8) at Stream.stream.write (/Users/braunromain/Documents/dev/should-i-go/node_modules/gulp-mocha/node_modules/through/index.js:26:11) […]

环回模型的unit testing

我有一个模型Student的Loopback API。 如何在不调用REST API的情况下为Student模型的节点API方法编写unit testing? 我找不到任何文档或示例通过节点API本身testing模型。 任何人都可以请帮忙?

testing未导出模块的节点方法

这是一个正常的节点模块。 有些function不是全部导出,但需要testing var foo1 = function () { console.log("Foo1"); } var foo2 = function () { console.log("Foo2"); } var foo3 = function () { console.log("Foo3"); } module.exports = { foo1: foo1, foo2: foo2 } 任何人都知道如何testingfoo3? 通常我用节点沙箱模块testing模块。 但是只能模拟给模块的东西,但是我不能改变方法的范围。 带有节点沙箱模块的testing模块示例: var SandboxedModule = require('sandboxed-module'); var user = SandboxedModule.require('./user', { requires: {'mysql': {fake: 'mysql module'}}, globals: {myGlobal: 'variable'}, […]

Node.js摩卡unit testing错误重新:蒙哥马与Mockgoose嘲笑,“错误设置集合:会话TTL索引”

在GitHub上创build这个开放源码的应用程序,在Daftmonk的强大的Yeoman angular – 全堆生成器上构build的Outer / Partybot-web.git 。 我一直试图把我的技能包括在Node.js的testing(本地和CI)期间做MongoDB mock这个似乎很热的当代问题。 我是摩卡的粉丝,因为奔跑和柴的断言。 在淘汰了许多早期的竞争者之后,我现在正在用Mockgoose来嘲讽Mongoose模型来代替MongoDB。 在Travis的开放源代码partybot-web CI中也可以看到与这个问题有关的版本 到目前为止,这种configuration已经能够成功运行一些数据库操作,certificate了Mockgoose不是完全浪费时间。 然而,这个“会议”表似乎是在扼杀它。 请参阅下面的示例本地执行(Ubuntu 12),并让我知道如果任何节点向导有一个智慧的明珠… 非常感谢! -缺口 nick@om-ultrabook-ubuntu:~/Development/partybot-web$ mocha test/server/api/incoming/sms.js info – socket.io started Express server listening on port 3000 in development mode Error: Error setting TTL index on collection : sessions at /home/nick/Development/partybot-web/node_modules/connect-mongo/lib/connect-mongo.js:161:23 at /home/nick/Development/partybot-web/node_modules/connect-mongo/node_modules/mongodb/lib/mongodb/db.js:1404:28 at /home/nick/Development/partybot-web/node_modules/connect-mongo/node_modules/mongodb/lib/mongodb/db.js:1542:30 at /home/nick/Development/partybot-web/node_modules/connect-mongo/node_modules/mongodb/lib/mongodb/cursor.js:159:22 at commandHandler (/home/nick/Development/partybot-web/node_modules/connect-mongo/node_modules/mongodb/lib/mongodb/cursor.js:678:48) […]

如何在Node.js中构buildTDD?

我有我的文件夹结构如下: backend |-Process1 |-Process2 |-app |-config |-controllers |-models public |-css |-js 我应该在哪里放置我的unit testing文件夹?

unit testing用passport.js和express.jslogin

我试图testing我的本地login。 我已经用passport.js实现了,遵循它的指导并遵循这个MEAN框架。 我很确定实现是正确的,但是总是失败的testing有问题。 如果authentication失败,应该redirect到“/ signin” 如果authentication是正确的,应该去“/” 但是当我testing时,authentication总是失败。 这是routes.js : module.exports = function(app, passport, auth) { var users = require('../app/controllers/users'); app.get('/signin', users.signin); app.post('/users/session', passport.authenticate('local', { failureRedirect: '/signin', failureFlash: 'Invalid email or password.' }), users.session); var index = require('../app/controllers/index'); app.get('/', index.render); passport.js : var mongoose = require('mongoose'), LocalStrategy = require('passport-local').Strategy, User = mongoose.model('User'), config = require('./config'); module.exports […]

如何unit testing一个函数调用另一个返回一个承诺?

我有一个使用快递4的node.js应用程序,这是我的控制器: var service = require('./category.service'); module.exports = { findAll: (request, response) => { service.findAll().then((categories) => { response.status(200).send(categories); }, (error) => { response.status(error.statusCode || 500).json(error); }); } }; 它呼吁我的服务返回一个承诺。 一切正常,但我试图unit testing时遇到了麻烦。 基本上,我想确保根据我的服务返回,我用正确的状态代码和正文刷新响应。 所以摩卡和sinon看起来像这样: it('Should call service to find all the categories', (done) => { // Arrange var expectedCategories = ['foo', 'bar']; var findAllStub = sandbox.stub(service, 'findAll'); […]

运行unit testing时禁用winston日志logging?

在执行节点模块的unit testing时,能否select禁用Winston日志? 理想情况下,我希望在应用程序运行时进行信息和debugging目的的日志logging,但是在运行我的testing时不要混乱显示unit testing结果。 我对winston的使用是在我的模块内部的,就像这样: // MyModule.js var logger = require('winston'); module.exports = function() { // does some stuff // and logs some stuff like so: logger.log('an informational message'); } // MyModuleTest.js describe('MyModule', fucntion() { it('should do some stuff', function() { var myModuleUnderTest = require('MyModule'); // some tests } }

testingMongooseJsvalidation

有谁知道如何testingmongoosevalidation? 例如,我有下面的Schema(作为例子): var UserAccount = new Schema({ user_name : { type: String, required: true, lowercase: true, trim: true, index: { unique: true }, validate: [ validateEmail, "Email is not a valid email."] }, password : { type: String, required: true }, date_created : { type: Date, required: true, default: Date.now } }); validateEmail方法定义如下: // Email […]

Node.js断言库与其他断言库

根据node.js声明库文件 : 该模块旨在供Node.js内部使用,但可以通过require('assert')在应用程序代码中使用。 但是,assert不是一个testing框架,不能用作通用的断言库。 我将Chai视为另一个断言库(没有BDD API,只有assert API),最后我发现断言function非常相似。 为什么柴的断言库是一个更好的断言库? 它比node.js所做的一切都做得更好(除了在断言方面更丰富之外,这只是语法上的糖衣)。 即使简单的事情,如执行断言的总数不是两个都可用。 我错过了什么吗?