Tag: 压力testing

如何使用单个命令运行多个QUnit(node.js)testing文件?

脚本 我们正在尝试在我们的服务器端testing中使用Node.js QUnit模块 qunitjs ,以便我们可以编写一个testing并在服务器和客户端上运行它,例如: https : //github.com/nelsonic/learn-tdd/斑点/主/ test.js 当我们使用以下命令运行单个文件时: node test/my_test.js 它按预期工作。 但是,如果在/ test 目录中有多个testing,并尝试使用以下命令将所有文件作为套件运行: node test/*.js 只有第一个文件( 按字母顺序 )被执行。 请参阅: https : //github.com/nelsonic/hapi-socketio-redis-chat-example/tree/master/test 题 我们如何用一个命令 执行多个testing文件 ? 我们试图挖掘现有的StackOverflow + GitHub Q / A,但没有find任何匹配。 ( 任何build议/帮助非常感谢! )

如何在testingNodeJS API时模拟外部服务

我有用koa构build的JSON API,我试图用集成testing来覆盖。 一个简单的testing看起来像这样: describe("GET: /users", function() { it ("should respond", function (done) { request(server) .get('/api/users') .expect(200, done); }); }); 现在问题来了,当一个控制器后面的动作 – 让说在POST /用户saveUser – 使用外部资源。 例如,我需要validation用户的电话号码。 我的控制器看起来像这样: save: async function(ctx, next) { const userFromRequest = await parse(ctx); try { // validate data await ctx.repo.validate(userFromRequest); // validate mobile code await ctx.repo.validateSMSCode( userFromRequest.mobile_number_verification_token, userFromRequest.mobile_number.prefix + userFromRequest.mobile_number.number ); […]

为什么使用supertest代替expressJS的unit testing?

在search如何testing我的node.js软件时,我遇到了许多build议使用Supertest的答案。 在使用Supertest之前,我正在testing我的应用程序: app.get('/', base_road); function base_road(req, res) { return res.json("Hello world"); } it("base road", function() { base_road(mocked_req, {json: function(data) { assert.isEqual(data, "Hello world"); }}); }); 我对这种testing方式并不满意,因为嘲笑可能会变得很难阅读,但是我觉得如果使用超types,我会比unit testing更接近e2e。 我应该使用supertest做unit testing吗? 我的实际testing方式是否正确?

限制并发节点js

我想处理访问我的API的限制客户端/并发。 我使用的是Express Node JS,使用Load Test&Load进行testing之后,我得出了一个结论:在10000个并发访问之后,我的API没有响应,内存达到了90%左右。 我已经使用http.Agent.maxSockets,http.globalAgent一次限制大约500个请求sockets,但事实certificate,请求总是超过500, 我也使用限制器,而不使用redis这里是我的代码 var limiter = require('express-limiter')(app) limiter({ path: '*', method: 'all', lookup: ['connection.remoteAddress'], // 500 requests per seconds total: 500, expire: 1000 }); 但是当我用户压力testing它仍然达到记忆高峰。 任何帮助? 编辑: 另一个信息,我没有使用Nginx或AWS的负载平衡器

无法testing第三方授权:Node / Express / Supertest / Facebook

我正在编写一个非常早期的Node / Express应用程序的testing。 我已经决定只为大多数用户使用FBlogin,所以我的许多控制器都依赖于来自FB的身份validation状态。 但我不清楚如何testing这个,或者如何保持会话与login用户的方式,我正在使用的护照,将理解。 var expect = require("chai").expect; var mongoose = require('mongoose'); var User = require('../models/users'); var nock = require('nock'); var parser = require('cookie-parser') var session = require('supertest-session'); var agent = require('superagent'); var _ = require('lodash'); var app = require('../app'); var testSession = null; var fbRedirectURL; beforeEach(function () { testSession = session(app); }); it('should […]

套接字IO性能成本比较房间和事件

在我的应用程序中,我正在使用redis适配器socket.io 我有场景,我必须创builddynamic聊天两人之间的聊天室 但是我已经有了他们用户的房间 现在,当我创build聊天室并单独发布事件时,是否有性能优势? 或当我发布多个活动userId房间? 哪一个更好。? 有什么性能基准testing工具可以给我们关于CPU负载和networking负载的细节 我知道的http://drewww.github.io/socket.io-benchmarking/和https://github.com/M6Web/websocket-bench但这些没有帮助的CPU负载和内存的负载 请在这里指导我

重置nock范围的pendingMocks

我试图对nock范围运行多个断言,并嘲笑beforeEach中的请求,但是我看到scope.pendingMocks()与请求,即使我已经清理scope.pendingMocks()所有: afterEach(() => { nock.cleanAll(); }); 在多个请求的同一个主机上设置mock的最好方法是什么,并且在每个testing中新鲜地断言请求?

伊斯坦布尔封面testing挂起,然后在60秒后中止

我正在使用伊斯坦布尔代码覆盖我创build的Web应用程序。 每当我运行npm run cover –color=always (运行: ../node_modules/babel-cli/bin/babel-node.js — node_modules/.bin/babel- istanbul cover test/index.js –report=cobertura –print=detail –x=dist/** ) 但terminal上没有任何东西出现在大约60秒后,当我得到这个错误: TAP version 13 # application server Aborted (core dumped) 但是,如果我在index.js文件的底部写了一些导致错误的东西(比如一个未定义的函数),它将会打印覆盖范围以及错误。 有什么想法可能是错的?

使用SinonJS存根(与rewire)

我有一个function: var publish = function(a, b, c) { main = a + getWriterName(b,c); } getWriterName是另一个函数: var getWriterName = function(b,c) { return 'Hello World'; } 我想testing“发布”function,但我不想在testing“发布”时运行“getWriterName”函数。 我觉得我存根getWriterName函数,因为我不想每次运行我testing“发布”,但我该怎么做呢? 我做了这样的事情: var sandbox = sinon.sandbox.create(); sandbox.stub(getWriterName).returns('done'); 但是这给了我一个错误 TypeError:尝试将未定义的属性undefined作为函数进行封装 如果我在写道上,那么我的st What怎么了? 编辑:我使用rewire,所以会喜欢解决scheme使用rewire

如何在Node应用程序中编写Interswitch WebPAY集成testing?

我有节点的networking应用程序,必须通过Interswitch WebPAY支付。 我使用HTML表单来启动WebPAY付款屏幕,我可以手动testing实际的信用卡付款。 问题是如何编写testing这个集成的代码。