Articles of 压力testing

摩卡testing案例res.render不工作

我正在编写一个简单的路由testing用例。 我用mocha , chai-http和sinon来检查是否显示正确的页面。 这是用户提供信息的contact页面。 联系人页面现在再次呈现。 以下是我的testing案例: const chai = require('chai'); const chaiHttp = require('chai-http'); const sinon = require('sinon'); const ejs = require('ejs'); var app = require('../app'); var path = require('path'); var fs = require('fs'); var Contact = require('../models/contacts'); chai.use(chaiHttp); var should = chai.should(); var expect = chai.expect; describe('Contact', () => { describe('/POST Contact', () […]

如何testing在testing函数中没有返回的被调用的promise

首先,我一直在尝试几乎所有的东西来使这个代码工作,我取得了成功,问题是我不喜欢这种方法,我想知道是否有更好的东西,我可以做,以便使testing代码更具可读性,但function。 我想断言 (举例来说, secondApiCall )已经调用了第二个函数( secondApiCall ) ,但似乎没有办法做到这一点,你会怎么做呢。 这是否有一个非hacky方法? 这里的主要问题是“我不能修改functionToTest ”,我必须编写testing,基本上检查API调用正在完成。 如何使用给定的代码在functionToTest完成后运行断言? PS:代码是狗屎,我知道,但有时你只需要处理它,你不能再做更多的感谢只是在重构之前testing它的狗屎它:( const firstApiCall = () => { return new Promise(function(resolve,reject) { setTimeout(() => { resolve('firstApiCall success'); }, 3); }); }; const secondApiCall = () => { return new Promise(function(resolve,reject) { setTimeout(() => { resolve('secondApiCall success'); }, 3); }); }; const functionToTest = () […]

node.js mongoose chai-http RESTful APItesting(唯一字段)的行为与手动ARC APItesting不同

各位开发者, 我编写了一个基于node.js和mongoose的RESTful API服务器。 在编写相应的testing时,我对使用chai-http进行自动化testing和使用ARC(高级REST客户端,chrome插件)的手动APItesting之间的明显不同之处有着奇怪的体验。 我的用户模型(见下面的定义)有一个唯一的“用户名”字段。 当我使用ARC使用现有的用户名login新用户时,我按照预期从mongodb驱动程序中获取E11000。 当我这样做(至less我这样认为)使用chai-http.request.post,我得到一个statuscode 200,一个SUCCESS结果,我有两个用户在我的testing数据库集合中具有相同的用户名! 用户模式模式,包括/挂钩/导出等。ommited: const userSchema = new Schema({ admin_info: AdminInfo, role: { type: String, required: true}, username: { type: String, required: true, unique: true, index: { unique: true } }, password: { type: String, required: true }, firstname: String, lastname: String, mail: String, }); 用于POST /用户的通用路由处理函数,其中“model”是上述用户模式的一个实例: function addEntry(req, res, […]

为什么要做更小的arrays需要更长的时间?

这是一个从1 to n的数组的函数: function MakeList(n){ return Array.from(Array(n).keys()).map(function(x){return x+1;}); } 我计时,所以我可以find这个数组的最快方法: console.log(n); console.time("MakeList"); var ar = MakeList(n); console.timeEnd("MakeList"); 但输出是如此啰嗦! 1 MakeList: 0.897ms 2 MakeList: 0.135ms 5 MakeList: 0.048ms 为什么用1的长度比5长的arrays需要大约20倍? 任何build议最快的方式将不胜感激!

在node.js中如何testing传递给渲染文件的对象

router.get('/', (req, res) => { User.find({}, (err, users) => { res.render('users/index', {users: users}); }); )); 在页面上呈现的数据没有问题。 我只是想找一个方法来断言{users:users} 像下面的东西… // testfile.js const user = {name: 'nate'} beforeEach((done) => { User.remove({}).then(() => { return User.insert(user); }).then(() => done()); }); it('should GET /users page', (done) => { request(app) .get('/users/') .end((err, response) => { assert(response.body === user); done(); }) […]

如何让Nightwatch.js在Internet Explorer上运行testing

我正在尝试在Internet Explorer,Chrome和Firefox上运行一些基本的夜间testing。 虽然我可以得到铬和Firefox的工作,我不能让我的生活使Internet Explorer的工作。 我试过search这个网站,特别是find了这个答案,但是没有任何帮助。 当然,我也通过夜视文件看无济于事 这是我的nightwatch.conf.js文件: const BINPATH = './node_modules/nightwatch/bin/'; // we use a nightwatch.conf.js file so we can include comments and helper functions module.exports = { "src_folders": ["test"],// Where you are storing your Nightwatch e2e tests "output_folder": "./reports", // reports (test outcome) output by nightwatch "selenium": { // downloaded by selenium-download module "start_process": […]

Nodejs使用ES6编写testing

我喜欢用ES6语法编码。 所以我创build了这个结构的nodejs后端项目: 在src文件夹中,我使用ES6语法编码,然后使用gulp-babel将其转录到dist文件夹中的nodejs可读代码中。 但是我发现我不能编写unit testing来覆盖代码,因为unit testing必须使用dist文件夹中的可读代码。 所以我需要一些build议,帮助我使用ES6语法,并编写unit testing来覆盖src文件夹中的代码。 谢谢。

`react-scripts test`返回码总是为零

有没有人知道如何在yarn test失败时在react应用程序中返回非零代码的yarn test (或npm test ) 在我的项目中,执行CI=true yarn test返回 Test Suites: 10 failed, 10 total Tests: 1 failed, 1 total Snapshots: 0 total Time: 1.736s Ran all test suites. Done in 2.34s. 所有testing失败。 但是这个命令返回了零码。 这使得travis-ci无法检测到失败的testing

设置Cypress.io通过代理访问页面

是否可以设置cypress.io通过代理访问页面? 我有一个代理,我需要通过,为了testing我的申请。 有无论如何configurationcypress.io来兑现标准的HTTP_PROXY环境variables..还是有一些其他的设置是必需的?

量angular器testingmeanJSpipe理页面?

有没有办法在meanJS中为admin only页面创build一个量angular器testing? 在这个GitHub的问题上 ,它解释说你必须修改数据库才能有一个pipe理员用户。 现在,在meanJS中的所有示例性量angular器testing都是在进行testing之前,首先在GUI中注册用户。 但是由于没有注册pipe理员的GUI方法,我没有看到自动testing这些页面的方法。 有没有办法预先给testing数据库播种? 我在config \ env \ test.js中看到一个名为seedadmin的东西,并想知道这是否也可以在E2Etesting中使用。