Articles of 摩卡

使用Mocha在NodeJS中进行OAuthstreamtesting

我正在尝试创build和使用reddit的OAuthstream来validation用户的应用程序,并检索将被我的应用程序用于进一步的reddit api调用的访问令牌。 当他们使用API​​调用“/login”,客户端被redirect到reddit的OAuth页面,他们将login和接受或拒绝。 然后,他们将被redirect到OAuthcallbackURL,NodeJS将获取令牌(或错误)并继续。 我可以testing这个stream程并在testing中获得访问令牌的最佳方式是什么,以便我可以使用它来进一步testing调用?

Node.js / Mocha / Supertest REST api – 一个del()停止工作后,我添加了第二套房

所以我有一个模型,我试图testing。 它具有自定义终结点以及标准REST终结点。 我build立了一个套件来testing标准操作。 首先,我张贴了,然后我插入(一个没有身份证…基本上是一个职位),然后我得到了。 最后,我删除了我发布时创build的条目,并且在我自己之后进行清理,以便删除我已插入的点。 这工作,这是很好的。 然后,在同一个文件中,我添加了另一个套件,这个套件testing我的自定义端点。 现在我的钩子应该删除插入点失败。 这不好。 我尝试在新的描述语句中包装我的testing删除,但它再次没有工作。 最后,我完全抛弃了这个钩子,只是发了两个.del的电话,但它仍然不起作用。 我在我的智慧结束。 请让我知道,如果你能弄清楚为什么这不起作用,以及如何使其工作。 先谢谢你! 这是我的代码: var request = require('supertest'); var app = require('../server'); var chai = require('chai'); var chance = require('chance').Chance(); var assert= require('assert'); function json(verb, url) { return request(app)[verb](url) .set('Content-Type', 'application/json') .set('Accept', 'application/json') .expect('Content-Type', /json/); } describe('Testing standard REST endpoints-(CREATE, GET,PUT, DELETE)', function() { […]

如何确保在节点上使用mocha和phantomjs进行每个testing的未触及的HTML

我写了一个web应用程序,我想要使用摩卡和phantomjs从命令行做一些DOMtesting,我想找出最好的方法来做到这一点。 由于networking应用程序正在进行大量的DOM操作,我希望能够在每次testing中加载全新的DOM。 我试图使用phantomjs的网页模块,但我不知道如何在页面上运行摩卡testing(或者如果这是正确的方式)。 当然,我可以创build一个文件test.html ,其中包含通过脚本标签的mocha,然后运行phantomjs test.html 。 但是我怎样才能确保在每个testing中都没有触动DOM? 为每个具有相同内容的testing添加一个HTML文件将是一个噩梦来支持。 我到目前为止: 我的testrunner.js: var Mocha = require('mocha'), expect = require('expect.js'), fs = require('fs'), path = require('path'); var mocha = new Mocha( { ui: 'bdd' }); // I only add one file for now mocha.addFile( path.join(__dirname, 'tests_integration/test.js') ); mocha.run(function(failures){ process.on('exit', function () { process.exit(failures); }); }); 我的test.js:这是我奋斗的地方,因为我不知道如何在页面内运行testing: var […]

如何在涉及外部依赖时configuration摩卡

我的文件夹结构是 -assets – apps – login -adminLogin.js – data – trackerDb.js -specs – apps -login -adminLogin_spec.js specRunner.js 我有specRunner.js文件,我已经添加为testing初始化​​在package.json中的根 “test”:“node assets / spec_Runner.js”这个specrunner包含了所有需要运行的testing。 adminLogin.js的第一行是define("trackerDb"),function(tracker){ //complete code}现在,当我为这个源文件编写testing用例并运行它时,抛出错误,如"cannot find trackerDb.js" 所以我的问题是我需要传递每个js文件的相对path..如果是这样的话外部模块如jQuery的,下划线等。 我们有没有其他方式可以直接configuration摩卡,以便find每一条path。

用摩卡jsunit testingexpressJwt中间件

我想弄清楚如何使用摩卡unit testing下面的路线。 router.delete('/auth/cut', expressJwt({ secret: global.secret }), function (req, res, next) { if (!req.user) { res.status(401).send().end(); } else { fileProcessor.cut(req, res); } }); 我正在使用validationJsonWebTokens并设置req.user中间件。 这是我的考验 it('DELETE /auth/cut responds Success' , function (done) { request(sharedVars.server) .delete('/api/archive/auth/cut') .set('Authorization', 'Bearer tokenid') .set('filename', 'dictionary.zip') .end(function (err, result) { if (err) { throw err; } expect(result.status).to.equal(200); done(); }); }); 以下几行 […]

通过代理或不使用grunt执行摩卡testing

我想configuration我的摩卡testing是否在代理之后执行。 例如, grunt test 会执行我在本地主机(无代理)的testing文件夹中定义的testing。 和 export http_proxy=PROXY:PORT grunt test mywebsite.com 将执行testing,但通过代理。 那可能吗?

摩卡js在()之后调用太快?

对于摩卡unit testing来说,我有一些摩卡的例子运行良好,但是我一直在努力几个小时才能运行这个程序,不pipe我做什么,after()被调用的方式早于我的感觉。 这是一个例子: var dummyData = require('./dummyData.js') describe('mochaTest', function() { after(function(done) { dummyData.cleanDb(function(){ done(); }) }); it('should hit the db to get dummy data and send', function(done) { dummyData.createDummyData(function(data1, data2, Lookup) { Lookup.lookup({ data1: data1, data2: data2 }, function(err, result) { done(); }); }); }); }) 然后在dummyData.js中: exports.createDummyData = function(cb){ doSomeStuff(function (err, patient) { // […]

Babel不会忽略我的模块的正则expression式

我正在使用Mocha在我的React组件上运行testing,因此我需要在我的Mocha引导程序中使用Babel来传输jsx需求。 在我的bootstrap.js我开始 global.babel = require("babel/register")({ ignore: [/node_modules/, '**/scss*', /sinon/, /foo/] }); 根据文档 ,忽略接受“一个glob,正则expression式,或混合数组”,但它的奇怪,因为/node_modules/, /sinon/ regexes工作,但**/scss*和/foo/不。 例如,以下是不符合要求的组件的顶部: var React = require('react'); var Router = require('react-router'); var Link = Router.Link; var foo = require('foo'); var StyleSheet = require('../../scss/core/Linker'); 失败: 1) app/core/Linker.jsx "before each" hook: Error: Cannot find module 'foo' at Object.<anonymous> (app/core/Linker.jsx:4:11) at Context.<anonymous> (test/app/helpers/linker-test.js:10:23) 我开始这样的testing: mocha […]

摩卡istanbul不包括一个文件

我正在使用grunt mocha istanbul来运行我的testing用例并检查代码覆盖率。 当我运行命令npm test时,每个文件中的所有testing用例都被执行。 但是,当涉及到代码覆盖率时,其中一个文件没有被检查。 有趣的是,该文件夹中的所有文件都已经过代码覆盖testing。 我无法find任何指出问题出在哪里的错误日志。 有人可以指导我吗?

无效的属性发送到Passport错误桶风帆

我正在申请帆。 我正在使用桶将数据填充到我的模型中。 填充用户后填充护照时出现以下错误。 以下是我的user.json和passport.json [ { "communityID": 1, "email": "testuser@getintuch.com", "ownershipGroups": [1], "membershipGroups": [1] } ] [ { "protocol": "local", "password": "random", "accessToken": "random", "user": 1 } ] barrels.populate(['user'], function (err) { if (err) return done(err); barrels.populate(['passport'], function (err) { if (err) return done(err); done(err, sails); }); }); 以下是我得到的错误 Error (E_VALIDATION) :: 1 attribute is […]