Tag: 压力testing

用Mocha和SupertesttestingExpress错误

例如,我必须在验收testing中testing服务器错误(Express),例如,验收testing不能(或不应该)发送响应 错误:发送后无法设置标题。 捕获error handling程序的错误和5XX代码响应将提供有价值的反馈在这里,但问题是头已经发送。 这类错误可能并不严重,难以发现,通常可以从日志中找出。 规范是 it('should send 200', function (done) { request(app).get('/').expect(200, done); }); 和testing的应用程序是 app.get('/', function (req, res, next) { res.sendStatus(200); next(); }); app.use(function (req, res) { res.sendStatus(200); }); 快速app实例和请求testing库(即Supertest)在类似情况下进行通信的最适合的方式是什么? 问题不限于Supertest。 如果有包可以解决Supertest无法解决的问题,也可以考虑。

如何使用Node.js比较两个图像

我正在寻找一种方法来比较两个图像,看看他们是多么相似。 使用谷歌search会产生大量的image processing结果(裁剪,重新resize等),但没有什么会做近似的图像比较。 有一个Node.js库,但它是0.0.1版本,依赖于各种第三方系统包,所以不稳定或便携。 沿着这些线路的东西: var imgComparator = require('some-awesome-image-comparator-module'); // result would be between 1.0 and 0.0, where 1.0 would mean exact match var result = imgComparator.compare('/path/to/image/1.png', '/path/to/image/2.png');

如何testing使用JWTauthentication的Node API(用户login获取令牌)

TL; DR – testing使用JWT进行身份validation的Node API(Express)中的资源的方法是什么?凭证本身只授予用户名/密码login名? 我有点新的testing,并希望得到一些build议。 最终目标是要有一个经过全面testing的API,然后开始学习如何把这个连接到一个持续集成解决scheme。 正在使用的技术 我使用Express在Node中编写了一个API。 Mongo是数据库。 mongoose被用作ODM。 jsonwebtoken包用于创build/validation令牌。 Passport用于在路由上轻松地将用户身份validation添加为Express中间件。 API信息 API有各种资源 – 其中的具体细节对于这个查询并不重要,但为了简单起见,我们只是假装它是无处不在的Todo应用程序。 保存在数据库中的每个单独的资源都与一个用户相关联。 API使用JWT跨各种资源端点进行身份validation。 令牌本身包含唯一的用户ID,该ID是针对Mongo数据库中的资源存储的。 要获取令牌本身需要用户首先注册(返回令牌),然后login以获取新的令牌。 假装代码。 我将简化下面的代码,而不是使用任何环境configuration等等… app.js var express = require('express'); var app = express(); var mongoose = require('mongoose'); var bodyParser = require('body-parser'); var passport = require('passport'); mongoose.connect('mongodb://localhost/somedatabasename'); app.set('port', process.env.PORT || 3000); app.use(bodyParser.urlencoded({ extended: true })); app.use(bodyParser.json()); app.use(passport.initialize()); […]

我如何dynamic生成JavaScript /节点中的testing用例?

鼻子testing框架(用于python)支持在运行时dynamic生成testing用例 (以下是从文档中得出的五个不同的testing用例): def test_evens(): for i in range(0, 5): yield check_even, i, i*3 def check_even(n, nn): assert n % 2 == 0 or nn % 2 == 0 我怎样才能达到这个结果使用JavaScript框架,如摩卡或qunit? (在这一点上我没有附加任何特定的框架) 我的用例是编写一个testing运行器来监视外部服务器上的多个项目。 我会提供一个资源URL列表。 每个testing都会尝试轮询该资源,并根据find的内容返回成功或失败。 我有一个使用Python创build的原型(使用鼻子),但是如果可以的话,我想在node.js中实现。 最终,这将包括在CI设置中。

尝试使用MochatestingNode.js服务器进程

Node.js相当新颖 做了一个运行服务器进程并提供文件的应用程序(不使用快速或任何框架),现在我试图unit testing它。 我试图使用摩卡testing…我打算启动我的服务器进程,然后运行请求来testing预期的结果(统计代码,正文内容等) 然而,它不能正常工作,所有的请求无法连接到服务器…我敢肯定,这个问题是因为节点是运行一个进程循环,服务器没有运行“在后台”,而查询运行或者可能服务器还没有运行(开始ASYNC),而请求正在进行? 无论如何,我想知道什么是testing这个正确的方法,我假设要么我需要在后台运行服务器(如分叉进程)和/或者我需要find一种方法来等待服务器进程先“起来”,但不知道如何。 或者至lessbuild议testing这样的服务器进程(与摩卡或其他)。 谢谢。 这里是示例testing代码(从原始问题更新) var server = new Server302('./fixture/'); var instance; describe('Tests', function() { before(function(done) { instance = http.createServer(function(request, response) { console.log(request.url); server.serve(request, response); }).listen(8000); instance.on("listening", function() { console.log("started"); done(); }); }); after(function(done){ instance.close(); console.log("stopped"); done(); }); it("Should fetch test.html", function(done) { console.log("test1"); http.get("http://localhost:8000/", function(res) { res.on('data', function(body) { console.log(body) […]

如何使用mochatesting框架与node.js和sails.js

我想为node.js使用mocha。 我使用的最后一个testing框架是Ruby on Rails的Rspec,所以我试图用相同的方法来完成,但是我得到了巨大的框架和我可以使用的所有库。 我正在跟进官方上手,但并没有解释如何组织testing。 http://visionmedia.github.io/mocha/#installation 现在,我正在阅读,我可以使用以下库: https://github.com/visionmedia/should.js – testing模型实例的东西。 https://github.com/LearnBoost/expect.js – 基于should.js的简约BDD断言工具包 http://chaijs.com/ – 看起来很大,包括应该,期待和另一个lib https://github.com/visionmedia/better-assert – 使用callsite进行自我logging失败消息的更好的c样式断言。 (到目前为止我其实并不了解这个目的,看起来并不比别人好) https://github.com/rjanicek/mocha.js-haxe – 看起来是浏览器端,但摩卡也表示,它正在运行浏览器端。 而且我知道还有更多,这只是我在摩卡官方网站上看到的名单。 对于我所能理解的,看上去chai是用摩卡咖啡的,你怎么看? 而且,到目前为止,我从来没有看到任何东西来帮助我决定在哪里写testing(当然,在/testing/当然),以及如何组织一切。 我也使用伟大的sails.js框架(基于express)和pomelo.js为不同的项目,我需要在这两个框架上使用相同types的testing,所以我正在寻找一个通用的架构和库,我可以同时使用(所以,sails.js没有特定的东西,但可以直接使用任何其他框架) 这是我计划组织testing的方式,你认为这是一个正确的架构吗? 节点的主要问题是有很多的框架,插件,库和我不知道什么是最好的select,node.js是一个巨大的社区真的很大,真的很难概括所有的可能性。 你如何处理你的testing?

在unit testing中嘲笑Passport.js(本地策略)

我正在使用Passport.js的本地策略来validation用户的API。 我正在编写此API的testing,我需要在testing中模拟Passport.js以模拟经过身份validation的/未经身份validation的用户访问API。 什么是最有效的方法呢?

testingMongoose Node.JS应用程序

我正在尝试为我的Node应用程序的部分编写unit testing。 我正在使用Mongoose作为我的ORM。 我已经search了一堆如何使用Mongoose和Node进行testing,但没有任何东西。 解决scheme/框架似乎都是完整的,或者没有提到嘲笑的东西。 有没有办法我可以嘲笑我的Mongoose数据库,所以我可以在我的testing中返回静态数据? 我宁愿不必设置testing数据库,并填写每个unit testing的数据。 有人遇到过这种情况么?

您如何在Node.js中为您的服务器应用程序构buildtesting?

我开始向Node.js服务器应用程序添加testing,因为我们正在慢慢部署到生产环境中。 我有一个有很多可能的请求testing的API。 我的问题是:你如何组织你的testing,所以它不会成为你很快迷路的大文件? 我写了一个 API路由的testing(我有很多其他的API路由来testing),这就是它的样子(在Sublime文件概述中): 而这个testing甚至没有涵盖所有的情况。 我正在使用mocha ,以及should和expect的validation,以及API调用superagent 。 你将如何构build这些testing,所以它不会演变成一个可怕的大文件?

如何在nodejs上用mochaunit testing控制台输出

考虑下面的示例javascript代码: function privateFunction (time) { if (time < 12) { console.log('Good morning'); } if (time >= 12 && time <19) { console.log('Good afternoon'); } else { console.log('Good night!'); } }; 我应该怎样使用mocha(可能是sinonjs)对nodejs进行unit testing,注意到这是一个在模块内调用的私有函数? 我需要传入参数,并检查函数是否正确logging到控制台。 我可以做同样的console.warn和console.error ?