Tag: 压力testing

节点RESTful APItesting

我有一个RESTful API服务器作为我系统的后端运行,我想知道testing它的最好方法是什么。 我正在寻找的解决scheme是一个设置,其中testing将与通过固定装置填充的真实数据库接口(而不是嘲笑数据库)。 然后,每个testing都会从API端点请求数据,并将得到的响应与预期的响应进行比较。 这听起来像是一个很好的方法来完成这项任务吗? 如果是,那么什么样的工具最适合这个账单呢? 如果不是,那么更好的方法是什么? 谢谢!

如何自动testingnpm包的用户版本,而不是在持续集成上运行开发版本?

偶尔会发生一个模块的开发版本在我的开发工作区中工作,并传递给Travis-CI,但是在发布到npm之后,最终用户软件包被打破了。 例如,如果你使用一个应该在dependencies但在devDependencies中devDependencies子模块,那么CI将会通过(但是还有很多其他可能的devDependencies )。 你如何自动testing这个? 你使用外部绑定? 有秘密模块吗? 你有一个用户验收testing套件吗? 我使用Travis-CI的Github,但标准设置使用开发安装。

如何在CI模式下运行时访问ember-cli服务器?

当通过访问localhost:4200/tests tests在浏览器中运行testing时,testing可以访问testing服务器API。 但是,在CI模式下运行testing(使用testem)时,他们无法访问testing服务器API。 有没有办法做到这一点? 细节 在使用ember-cli生成的项目中,可以扩展运行的服务器(带有Express的NodeJs)。 请参阅/server/index.js说明。 运行这个命令之后: ember serve 这台服务器在localhost:4200上提供内容。 我已经这样做了,创build一个服务器来响应所有API请求,在浏览应用程序时在localhost:4200/api 。 当我访问localhost:4200/tests在浏览器中运行的testing时,他们能够访问这些API,并且运行没有任何问题。 但是,当我杀死服务器,并在CI模式(testem)下运行testing时,使用以下命令: ember test …应用程序使用PhantomJs在无头模式下运行,但应用程序无法访问API,导致大多数testing失败。 即使我开始运行testing时,服务器仍在运行,也会发生同样的情况。 我明白,在testing本身内部嘲弄API请求是惯例,像Sinon或mockjax。 但是,这将重复我已经在我的testing服务器,我想避免这一点。 有没有办法使testing运行在CI模式(使用testem),并有权访问我的testing服务器?

MEAN应用程序的负载testing

我目前正在用MEAN stack编写一个应用程序,并将第一个版本部署到服务器。 该应用程序由一个static HTML file (以及CSS和一些图像)和一大堆JavaScript文件组成。 加载页面时会执行很多JS,包括从Angular应用程序到NodeJS服务器的多个请求。 到目前为止,我已经尝试了几种负载testing工具( Apache Benchmark , JMeter和loadtest ),但是他们只是testing服务器来对付static HTML file 。 我需要一个工具(或上述工具的选项),它至less可以运行JavaScript的init部分。 我知道这将需要至less一些小的浏览器模拟或任何其他方法来testing运行HTML文件的JS。 任何指针在正确的方向将不胜感激!

用节点生成独特的testing数据

我目前正在使用chance.js来生成testing数据。 例如,我可以生成一个随机的电子邮件,并用它来testing我的模型。 我的问题是,我需要确保我的模型上的一些字段是唯一的,例如在用户模型上的电子邮件。 有chance确保它不会生成两次相同的电子邮件吗? 我会愿意使用faker作为替代,但是我不知道faker提供了这个function。

摩卡testing:“TypeError:undefined不是一个函数”在Test.serverAddress

我有以下testing: describe('Testing the GET methods', function() { it('Should be able to get the list of articles', function(done) { // Create a SuperTest request request(app).get('/api/articles/') .set('Accept', 'application/json') .expect('Content-Type', /json/) .expect(200) .end(function(err, res) { res.body.should.be.an.Array.and.have.lengthOf(1); res.body[0].should.have.property('title', article.title); res.body[0].should.have.property('content', article.content); done(); }); }); it('Should be able to get the specific article', function(done) { // Create a SuperTest request […]

使用Nodejs进行集成testing,express和supertest

我实际上正在创build一个应用程序,我需要做一些集成testing。 我真的想知道我该怎么做,以避免我的特快回拨路线的真实行为。 例如:承认我想在快速路由上发布数据,并检查是否收到HTTP 200响应代码,但没有真正将该对象添加到我的数据库中。 编辑:我使用supertest( https://github.com/visionmedia/supertest ) 我能怎么做? request .post('/users') .send({ message : JSON.stringify({ date: Math.round((new Date()).getTime() / 1000), type_fiche: 'test', id_fiche: 123 }) }) .expect(200) .end(done); }); 编辑2:是否有可能做一个像模拟的东西? 像伪造一个请求? 你知道,如果我发布的东西,这是我需要在我的数据库中插入的东西吗? 我不想在我的集成testing中插入任何东西,只是testing结果http响应代码。 我的意思是,承认我有一个像/client的url,我发布了一个新的客户端。 它将在表中创build一个新的行。 我不想要插入任何行,但我需要testing请求的响应代码。 那可能吗?

nodejs每秒请求和并发呼叫

我正在Debian 7 x64上运行node v0.12.7,我想用4GB内存在16核心虚拟专用服务器上进行基准testing。 我正在运行以下简约代码: // server.js var http = require('http'); http.createServer(function (request, response) { res.writeHead(200, {'Content-Type': 'text/plain'}); response.end('Hello World'); }).listen(80,"0.0.0.0"); 我在另一个terminal使用这个命令启动它): node server.js 此时节点正在一个核心上运行。 然后我用ab命令testing它的性能: ab -n 10000 -c 100 -k http://127.0.0.1/ …并得到这些结果: … Requests per second: 3925.81 [#/sec] (mean) … Percentage of the requests served within a certain time (ms) 50% 35 … […]

如何构buildmeteor应用程序进行testing

我正在阅读在线书籍“ meteortesting”,并对它是如何说明你应该构build你的应用程序有点担心。 它说,要在名为“App”的全局名称空间中创build一个对象,并根据需要附加子模块,如下所示: App = { Services: { func1: [some function] func2: [some function] … }, Collections: { func1: [some function] func2: [some function] … } … } 我的顾虑是: 这是否会对我的应用程序的安全性产生负面影响? 何时何地应该在应用程序名称空间中定义函数? 把他们全部加在一个地方,很快就会被压倒。 我应该为所有我想要unit testing的function做这个吗? 如果不是,我如何访问我在模板的javascript文件范围内定义的函数? 如果你们中的任何一位能够指出我在meteortesting方面的额外资源,我想看看其他人的build议。 谢谢。

强制量angular器等待种子数据加载

我必须为我的testing加载一些种子数据。 我很难确定在testing开始运行之前种子数据已经完全加载。 在beforeAll块中,我调用我为API编写的适配器,清除所有数据,加载种子数据的指定文件,然后运行从量angular器testing文件传入的callback。 我不能在callback中包含testing用例(这似乎是重构承诺会出现类似的阻塞问题),或者量angular器不能识别它们。 任何人都可以build议一种方法,我可以确保我的API已经成功种子在testing开始之前? 谢谢!