Articles of tdd

nodejs,当文件改变时自动运行testing

有没有办法自动运行testing,当应用程序中的文件更改? 在铁路上有一个叫做守卫的gem。 如何在nodejs中实现相同的function?

如何在Node.js中构buildTDD?

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

在Node.js / Express应用程序中testing环境

我刚刚开始使用Node,并且一直在跟随各种教程。 我创build了一个Express应用程序,并设置了Mongoose和Jasmine。 如何configuration我的规格,以便我可以: 创build模型,在每个规范之后自动清理它们 使用不同的数据库来创buildtesting对象(比如myapp_test) 以尽可能干的方式做到这一点,即不要为每个描述块的拆卸创build一个之前/之后的块 ?

ERROR :

我使用业力和茉莉花进行一些unit testing。 我想要一个html输出,而不是检查控制台/terminal,并发现这个: https : //www.npmjs.org/package/karma-htmlfile-reporter这是完美的我的要求。 当我运行它时,我得到一个错误: `ERROR [karma]: [TypeError: Cannot call method 'push' of undefined] TypeError: Cannot call method 'push' of undefined at onBrowserStart (/usr/local/lib/node_modules/karma/lib/reporters/base.js:14:20) at null.<anonymous> (/usr/local/lib/node_modules/karma/lib/events.js:15:22) at EventEmitter.emit (events.js:117:20) at onStart (/usr/local/lib/node_modules/karma/lib/browser.js:128:13) at Socket.<anonymous> (/usr/local/lib/node_modules/karma/lib/events.js:15:22) at Socket.EventEmitter.emit [as $emit] (events.js:117:20) at SocketNamespace.handlePacket (/usr/local/lib/node_modules/karma/node_modules/socket.io/lib/namespace.js:335:22) at Manager.onClientMessage (/usr/local/lib/node_modules/karma/node_modules/socket.io/lib/manager.js:488:38) at WebSocket.Transport.onMessage (/usr/local/lib/node_modules/karma/node_modules/socket.io/lib/transport.js:387:20) at Parser.<anonymous> (/usr/local/lib/node_modules/karma/node_modules/socket.io/lib/transports/websocket/hybi-16.js:39:10) […]

如何testing节点数据分块function

我正在开发一个使用节点的项目,我们正在努力实现我们function的100%覆盖。 这是我们没有testing过的唯一function,而且是另一个function。 var userInput = ""; req.on("data", function(data){ userInput += data; }); 你如何去testing这个function? 我们尝试从另一个文件导出function,但没有运气。 我应该提到,我们正在使用磁带作为testing模块。

运行只有一个摩卡testing文件的变化与吞噬

我有一个标准的吞咽testing观察者和亚军我的Node.js /摩卡安装程序; gulp.task('mocha', function() { process.env.NODE_ENV = 'test'; return gulp.src(['./test/**/*.js'], {read: false}) .pipe(mocha({ recursive: true, reporter: 'list', ui: 'bdd' })).on('error', gutil.log); }); gulp.task('tests', function() { gulp.watch(sources.concat(tests), ['mocha']); }); 我想知道如何调整我的观察任务(和其他),只发送给摩卡的已经改变了的testing – 所以我不必等待20秒就可以运行一百个testing。 我已经尝试了这个fgulp-newer和gulp-cached,但没有运气。 我在这里寻找一个答案或一个吞咽插件的伪algorithm,我可以为此写:)

摩卡与nodejs断言悬挂/超时断言(错误),而不是错误

我有这种摩卡testing: describe 'sabah', → beforeEach → @sabahStrategy = _.filter(@strats, { name: 'sabah2' })[0] .strat it 'article list should be populated', (done) → @timeout 10000 strat = new @sabahStrategy() articles = strat.getArticleStream('barlas') articles.take(2).toArray( (result)→ _.each(result, (articleList) → // I make the assertions here // assert(false) assert(articleList.length > 1) ) done() ) 问题是,每当我assert(false) ,testing挂起,直到超时,而不是给一个断言错误,为什么? 编辑: 例如,如果我有这两个testing it […]

如何使用supertest和代理在摩卡testing中进行authentication请求?

我在login后无法运行已validation的testing(服务器返回401 Unauthenticated )。 var should = require('should'), _ = require('lodash'), app = require('../../../server'), mongoose = require('mongoose'), User = mongoose.model('User'), request = require('supertest'); var user , user1; describe('GET /api/jobs', function () { before(function (done) { user = new User({ provider: 'local', name: 'Fake User', email: 'test@test.com', password: 'password' }); // Clear users before testing User.remove().exec(); request(app) […]

在Reduxtesting中,Nock不拦截API调用

我试图在一个REDX应用程序中testing一个API调用。 该代码非常符合redux文档的Async Action Creators部分中概述的模式: http://redux.js.org/docs/recipes/WritingTests.html 它的要点是,你使用减less模拟商店logging和断言任何触发的行动。 这是整个testing,用nock来模拟api调用: import React from 'React' import ReactDOM from 'react-dom' import expect from 'expect'; import expectJSX from 'expect-jsx'; import TestUtils from 'react-addons-test-utils' import configureMockStore from 'redux-mock-store' import thunk from 'redux-thunk' import nock from 'nock' expect.extend(expectJSX); import * as types from '../../constants/Actions' describe('Async Search Actions', () => { const thunkMiddleware = […]

如何检测是否在node.js中运行摩卡testing?

我想确保在代码以testing模式运行的情况下,它不会(意外)访问错误的数据库。 检测代码当前是否在testing模式下运行的最佳方法是什么?