Articles of tdd

为所有testing用例(Mocha)添加一个默认的before()函数,

我正在使用TDD(Mocha)为我的node.js服务器编写函数。 为了连接到我正在做的数据库 before(function(done){ db.connect(function(){ done(); }); }); 我使用make test运行make test ,并configuration了我的makefile以使用mocha *.js运行该特定文件夹中的所有js文件 但是对于每个js文件,我都必须独立连接到数据库,否则我的testing用例会失败,因为他们不能与其他testing文件共享通用范围。 所以问题是,是否有像beforeAll()那样简单地连接一次到数据库,然后运行所有的testing用例? 任何帮助/build议表示赞赏。

如何在node.js + Express.js + mongodb应用程序上asynchronous启动摩卡testing

问题似乎很微不足道,所以我真的很尴尬,我不能自己解决它,但我做了很多search谷歌和stackoverflow,没有任何帮助我呢。 我正在用node.js开发RESTful服务器,我想testing它的API。 服务器asynchronous初始化(它需要连接到数据库,从另一台服务器等请求令牌)。 所以我的server.js文件中的代码如下所示: var express = require('express'); var app = express(); var bodyParser = require('body-parser'); var MongoClient = require('mongodb').MongoClient; var bunyan = require('bunyan'); // logger var routes = require('./routes/folrouter.js'); var TokenGetter = require('./utils/tokengetter'); MongoClient.connect('mongodb://localhost:27017/fol', function (err, db) { if (err) throw err; global.db = db; global.log = bunyan.createLogger({ name : "folserver", src : true, […]

TDD只适用于模型或其他地方

我已经从Kent Beck那里买了“TDD的例子”,我已经读了关于Money谈话和计算的第一部分。 在进一步阅读之前,我有一些问题。 TDD是否仅与域特定部分相关? 我的情况如下 我是nodejs开发人员,我在REST API上工作。 在nodejs中,我们使用路由callback(就像控制器),我想知道在处理TDD时是否需要进行一些集成testing? 或者我应该只将它应用到我的服务/存储库/实体? (我知道我必须进行集成testing,但是我想知道如何将它应用于TDD原则,我发现它确实是以域为导向的) 当处理移动开发(在我的情况下是Android本地),活动(像控制器一样)不关心TDD的工作方式吗? 因为它也意味着集成testing,我觉得呢?

用Sinon.JS来扼杀asynchronousstream水

我想通过使用Sinon.js来扼杀我的一个函数来testingasync.waterfall 。 // functions.js module.exports = { // function I don't want to run doBigThing: function() { console.log("[doBigThing] was called"); }, // function I want to stub myFunction: function(number, callback) { console.log("[myFunction] was called"); doBigThing(); callback(null, number); }, // function I want to test waterfall: function(callback) { return async.waterfall([ async.constant(5), // 5 just for the […]

节点JS – C ++插件的testing策略

我为Node JS编写了一个或两个本地C++模块,但总是倾向于在Javascript编写模块的testing。 这是一个有效的testing策略,还是有更好的方法来testing(也可能是debugging)本机模块代码?

TDD先testingNodejs表示Rest Api – unit testing中间件/控制器/路由

我想弄清楚如何testing我的节点jsrestAPI应用程序。 到目前为止,我一直在使用nock拦截和模拟任何http调用,并通过testing我的服务作为一个组件。 (组件testing?)我想开始unit testing我的应用程序,所以我的testing金字塔更平衡,testing将更容易编写。 searchnetworking我得到了这种做法: http : //www.slideshare.net/morrissinger/unit-testing-express-middleware var middleware = require('./middleware'); app.get('example/uri', function (req, res, next) { middleware.first(req, res) .then(function () { next(); }) .catch(res.json) .done(); }, function (req, res, next) { middleware.second(req, res) .then(function () { next(); }) .catch(res.json) .done(); }); (基本上拉出中间件并testing它) 因为这个演示文稿是从2014年我想知道什么是当前最新的unit testing快递应用程序的方法?

chai http附加设置内容typesmultipart-formdata

我想将文件作为二进制传递给我想使用chai http编写testing的函数之一,下面是代码: chai.request('http://localhost:8085') .post('/myAPI/' + req.params.id + '/logo') .attach('image', fs.readFileSync(__dirname + '/resources/IMG_86425.jpg'), 'IMG_86425.jpg') .set('Content-Type','image/jpeg') .end((err, res) => { should.equal(err, null); res.status.should.equal(200); res.should.be.json; done(); }); 问题是attach()固然好像把内容types更新为multipart表单数据,尽pipe我试图用image / jpeg来搭配它。 有什么我们可以做,以覆盖attach()的行为还是有任何其他方式,我可以发布二进制数据到我的function。 谢谢

嘲讽net.Socket为unit testing

我创build了一个包装对象与networking模块进行交互。 实现这个包装器的对象可以注册在net.Server发生任何事件时被调用的callback函数。 现在我试图testing这些callback,我不知道如何创build一个假的套接字,因为它来自一个新的连接,传递给callback。 有没有人有任何想法如何做到这一点? 非常感谢你。

Chai / Moka – > TypeError:request.get(…).expect不是一个函数

第一次与TDD。 在阅读了一些关于我的NodeJS API的文章之后,我使用了Chai / Moka二人组合。 我已经做了一些愚蠢的testing,学习如何使用这些。 现在我想testing我的API,所以我创build了一个路线: app.get('/hello', function(req, res) { res.status(200).send('Hello World!') }) 我尝试这样的testing: var request = require('superagent') var expect = require('Chai').expect […] describe('When request baseURL/hello', function(){ it('should salute you !', function (done) { request .get(baseURL + '/hello') .expect(200) .end(function(err, res){ if(err) return done(err) done() }) }) }) 我有失败输出: TypeError: request.get(…).expect is not a […]

Hapi js导出服务器variables

我想添加testing到我的项目。 服务器是写在Hapi,我想知道在哪里把我的testing文件夹以及如何将服务器variables导出到testing文件。 我知道我可以导出它与module.exports = server但我认为这不是一个好主意导出它。 有什么build议么?