Tag: unit testing

有没有一个模块轻松地模拟req / res对象的unit testing连接样式处理程序?

我在node.js中编写了一个应用程序,其中包含一些连接样式端点处理程序(函数(req,resp)),并希望针对它们编写一些unit testing,而无需运行完整的应用程序。 我知道我可以“简单地”推动任何我手动写入的设备,但是我想知道是否有任何库可以帮助我更快地生成这些设备。 编辑:进一步解释我想要什么,我想在我的unit testing只执行我的处理程序(而不是我的应用程序),为此,我需要一个假的需求和水库。 那些是我想嘲笑的两件东西。 我目前正在使用摩卡作为testing运行器和核心断言模块。

使用grunt-mocha-test创buildtesting组

我正在使用grunt-mocha-test来运行节点服务器端testing。 我的Gruntfile.js看起来像这样 module.exports = function(grunt) { // Add the grunt-mocha-test tasks. grunt.loadNpmTasks('grunt-mocha-test'); grunt.initConfig({ // Configure a mochaTest task mochaTest: { test: { options: { reporter: 'dot' }, src: [ 'test/setup.js', 'test/*.test.js' ] } }, }); grunt.registerTask('default', 'mochaTest'); }; 我想要做的是这个,我想能够运行不同的testing组,使用不同的命令如下 grunt将运行所有的testing grunt test1运行testing文件夹中的一个testing子集 grunt test2运行另一个testing子集 我不知道这是否可能,而且在grunt-mocha-test的文档中我还没有find任何有关这方面的信息 我可以肯定在这里使用一些帮助。 谢谢

嘲笑在同一模块内导出和调用的模块function?

新的unit testing和间谍,存根和嘲笑的概念。 我想从下面的代码testingpassword.js的verify方法,但是我无法在testing文件中存储hash函数。 由于verify使用hash函数和hash函数导出,我虽然我应该stub hash函数返回一个固定的响应,而不是实际调用hash 。 因为我不想testinghash函数。 问题:testingverify时不会调用创build的hash函数存根。 问题1:我应该把重点放在testing函数本身的逻辑上而不是另一个函数上吗? 主要问题:(已 回答)如何在同一个模块中调用模块函数? 方面的问题2:如果我不知道哪里没有导出,而只停留在模块中,我将如何去做哈希哈希? 码 password.js /** * Creates a hash based on a salt from a given password * if there is no salt a new salt will be generated * * @param {String} password * @param {String} [salt] Optional value, if not given will generate […]

nodejs深度与差异相等

是否有一个断言库,当深入比较时,会告诉我两个对象之间有什么区别? 我试过使用柴,但它只是告诉我,对象是不同的,但不是在哪里。 同样的事情节点的断言….

用嘲讽和sinon嘲笑一个类的方法

我正在学习使用sinon的节点模块嘲讽进行unit testing。 只使用嘲笑和普通的类,我能够成功地注入一个模拟。 不过我想注入一个sinon stub而不是一个普通的类,但是我遇到了很多麻烦。 我试图嘲笑的课程: function LdapAuth(options) {} // The function that I want to mock. LdapAuth.prototype.authenticate = function (username, password, callback) {} 以下是我在beforeEach()函数中使用的代码: beforeEach(function() { ldapAuthMock = sinon.stub(LdapAuth.prototype, "authenticate", function(username, password, callback) {}); mockery.registerMock('ldapauth-fork', ldapAuthMock); mockery.enable(); }); afterEach(function () { ldapAuthMock.restore(); mockery.disable(); }); 我试图以各种方式来模拟/存根LdapAuth类而没有成功,上面的代码只是最新的版本,不起作用。 所以我只想知道如何用颂歌和嘲弄来成功地嘲笑这个。

运行“节点testing”作为Visual Studio Team Services构build任务的一部分,并在“testing”选项卡中显示结果

我有一个项目,包含我从命令行使用Mocha运行的testing。 我在我的packages.json设置了一个testing脚本,如下所示: "test": "mocha ./**/*.spec.js –reporter dot –require jsdom-global/register" 我目前在Visual Studio Team Services中设置了一个简单的任务, npm test运行npm test命令,这将在控制台中运行Mocha,并根据testing是否通过继续/失败构build。 我希望能够做的是让我的testing结果在运行后填充构build定义中的“testing”选项卡。 以同样的方式,我可以得到这个选项卡填充,如果我在C#代码上运行testing。 我已经尝试过使用Chutzpah,但它太复杂了,似乎要求我跳过各种各样的箍,这意味着改变我的testing和编写长的configuration文件。 我已经写了大量的testing,所以真的不想这样做。 当它终于发现我的任何testing,它抱怨与Node模块相关的require和其他事情。 我真正想要的是什么? 有没有一种简单的方法来实现这与在Node中运行我的testing兼容?

Sails.js:如何实际运行testing

我对帆,节点和js是全新的,所以我可能会漏掉一些明显的东西。 我正在使用风帆0.10.5和节点0.10.33。 在sails.js文档中有一个关于testinghttp://sailsjs.org/#/documentation/concepts/Testing的页面,但是它并没有告诉我如何真正运行它们。 我已经根据该文档设置了目录,添加了一个名为test / unit / controllers / RoomController.test.js的testing,现在我希望它运行。 没有“帆testing”命令或类似的东西。 我也没有find有关如何添加任务的任何迹象,所以testing总是在“帆升”之前运行。

保持摩卡testing与源文件一起

我目前在src和testing套件中有我的NodeJS源文件,例如: /src/bar/baz/foo.js /test/bar/baz/foo.spec.js 这导致了像var foo = require('../../../src/bar/baz/foo')这样的尴尬需求语句。 一目了然,很难一眼看出哪些源文件缺lesstesting。 我想将我的testing套件保存在与相关源文件相同的目录中: /src/bar/baz/foo.js /src/bar/baz/foo.spec.js 但是现在运行mocha –recursive src会导致错误,因为摩卡试图运行我的源文件作为testing。 我见过使用find或gulp来过滤文件列表的build议,但是我发现使用普通的Mocha无法做到这一点令人惊讶。 这种组织文件的方式是什么?

不能在sailsjs中unit testing我的模型

对于我的帆应用程序,我使用下面的代码来unit testing用户模型,但得到了错误信息: 'TypeError:对象#没有方法'创build'' var User = require('../../api/models/User'); var Sails = require('sails'); console.log(User); describe("User Model:", function() { // create a variable to hold the instantiated sails server var app; // Global before hook before(function(done) { // Lift Sails and start the server Sails.lift({ log: { level: 'error' }, }, function(err, sails) { app = sails; done(err, […]

testingNode.js,模拟并testing一个需要的模块?

我正在努力围绕我的节点模块编写高质量的testing。 问题是需求模块系统。 我希望能够检查某个需要的模块是否有方法或其状态已经改变。 似乎有两个相对较小的库可以在这里使用: 节点轻轻地和嘲弄 。 然而,由于他们的“低调”,这使得我认为,任何人都不会对此进行testing,或者还有另外一种我不知道的方式。 嘲笑和testing需要的模块的最好方法是什么?