Tag: 摩卡

在节点package.json中,使用额外的参数从另一个脚本调用脚本,在这种情况下添加mocha观察器

在节点的package.json中我想重用一个我已经在'脚本'中的命令。 这是一个实际的例子 而不是(注意观看脚本中的-w ): "scripts": { "test" : "./node_modules/mocha/bin/mocha –compilers coffee:coffee-script/register –recursive -R list", "watch": "./node_modules/mocha/bin/mocha –compilers coffee:coffee-script/register –recursive -R list -w", } 我想有类似的东西 "scripts": { "test" : "./node_modules/mocha/bin/mocha –compilers coffee:coffee-script/register –recursive -R list", "watch": "npm run script test" + "-w", } 这不工作(不能在json中做string连接),但你应该得到我想要的 我知道npm脚本支持: – &(并行执行) – &(顺序执行) 所以也许有另一种select?

Node.JS用MochatestingDOM吗?

我想在我的Node.JS应用程序中使用Mochatesting框架做一些简单的视图testing… 例如,我想testing一下页面上的<ol>是否有n <li>孩子,给定我在testing中设置的logging数。 我尝试使用杏做这个,当我得到它的工作,当它失败的错误信息是非常无益的…而且,它并不总是工作。 我所喜欢的是testingHTML元素的响应主体的简单方法,所以我可以确定它们是否与他们应该显示的数据匹配。 这是我目前的状态testing: https : //gist.github.com/2330685 任何人都知道我可以做到这一点?

节点摩卡testing日志保存到磁盘

需要将testinglogging保存到磁盘 我已经尝试了下面的代码 mocha -R spec test/**/*_test.js > report 假设任何testing用例失败,它不会login到“报告”文件。 请build议最好的方式来loggingtesting报告。

断言在摩卡testing中打破asynchronousfunction

我正在构build一个节点模块,并试图尽我所能对它进行unit testing。 我已经设置了摩卡和柴做testing处理。 我有一个问题,testing我的asynchronous方法(返回承诺的方法)。 在下面的testing中,我正在testing一个“升级”对象的方法。 it('Should return a list of versions for the default git repo', function (done) { fs.writeFileSync(appSetup.CONFIG_FILENAME, JSON.stringify(appSetup.DEFAULT_CONFIG)); var upgrade = new Upgrade({ quiet: true }); upgrade.getVersions().then(function (versions) { assert(versions && versions.length > 0, 'Should have at least one version.'); assert.equal(1, 2); // this throws the exception which causes the test case […]

用于Visual Studio的节点工具摩卡testing没有find摩卡模块

我有一个从Web Storm导入到Visual Studio的节点项目。 摩卡testing在Web Storm中运行良好,但在Visual Studio中,它们根本不运行。 我已经在相关文件上设置了testing框架,testing发现阶段正确地定位了它们。 当我运行testing时,即使我修改了系统,以至于他们必须失败,他们也会得到一个绿色的勾号。 如果我点击一个testing的输出,然后我看到错误: NTVS_ERROR:无法find摩卡包。 摩卡必须安装在当地的项目… 我在本地安装了Mocha,卸载并重新安装,但没有任何区别。 我已经设法得到一些更具体的错误信息,编辑mocha.js文件来打印出什么错误。 在detectMocha函数中发生问题。 我现在在日志中得到的例外是: [错误:找不到模块'C:\ projects \ FastLaneVS“\ node_modules \ mocha'] code:'MODULE_NOT_FOUND' 现在我的假设是这个额外的双引号后我的项目目录是问题。 我已经回到run_tests.js并打印出argv数组来查看项目目录来自哪里,而且确实已经在调用函数的时候附加了它。 现在,我很高兴地接受,我已经做了一些事情,并添加了这个引用的地方,但我找不到它。 我也不明白为什么find_tests应该工作,因为它调用相同的方法,并正确传递项目目录。 在我的项目中,它的目录就像。 我已经在记事本++中检查了sln和nsproj文件,试图find一个虚假的双引号。 我正在使用VS pro 2013更新4与节点工具1.0.21029.05 我可以修改摩卡亚军修剪尾随双引号,但任何想法如何我可以正确地解决这个问题将是伟大的。

如何testingnode.js websocket服务器?

我正在使用标准configuration的sockjs。 var ws = sockjs.createServer(); ws.on('connection', function(conn) { conn.on('data', function(message) { wsParser.parse(conn, message) }); conn.on('close', function() { }); }); var server = http.createServer(app); ws.installHandlers(server, {prefix:'/ws'}); server.listen(config.server.port, config.server.host); wsParser.parse函数是这样工作的: function(conn, message) { (…) switch(message.action) { case "titleAutocomplete": titleAutocomplete(conn, message.data); break; (…) // a lot more of these } 交换机中调用的每个方法都会向客户端发回消息。 var titleAutocomplete = function(conn, data) { redis.hgetall("titles:"+data.query, […]

未能通过风帆运行摩卡testing

我正在关注Sails文档并尝试运行Mochatesting。 我已经按照文档指定的方式编辑了我的package.json ,但由于某种原因,当我尝试运行Mocha时,总是得到EACESS,权限被拒绝。 起初我得到了: Error: EACCES, permission denied '/Library/Application Support/Apple/ParentalControls/Users' 我不明白为什么要做运行我的testing,但增加了这个文件夹所需的权限。 然后我得到: Error: EACCES, permission denied '/Library/Application Support/ApplePushService' 再次,不明白,所以改变了这个文件夹的权限,这也没有帮助。 我不明白为什么摩卡需要这些文件的权限,或者如何解决这个问题。 我跑了这个命令: mocha test/bootstrap.test.js test/unit/**/*.test.js 而且我的项目结构和Sails教程完全一样。 我正在使用Mocha@2.2.5 。 我的同事克隆回购,并试图在他的机器上运行testing,但没有完全相同的错误失败。 我试图降级到Mocha@2.2.0这也没有帮助。 完整的错误追踪: events.js:85 throw er; // Unhandled 'error' event ^ Error: EACCES, permission denied '/Library/Application Support/ApplePushService' at Error (native) at Object.fs.readdirSync (fs.js:761:18) at Glob._readdir (/usr/local/lib/node_modules/mocha/node_modules/glob/glob.js:609:20) at Glob._process […]

获得“错误:string”不是有效的BCrypt哈希“,抛出一个错误:)”在摩卡ExpressJStesting

我有一个使用Passport进行身份validation的MEAN堆栈应用程序。 我试图编写一个unit testing,login并检查您是否被redirect到根( / )。 但是,每当我运行摩卡我得到以下错误信息: 1) POST /home Login test should redirect to / after login: Error: the string "Not a valid BCrypt hash." was thrown, throw an Error 🙂 这是我的unit testingLoginSpec.js : var should = require("should"); var app = require("../app"); var mongoose = require("mongoose"); var User = mongoose.model("User"); var request = require("supertest"); var […]

从来没有写过任何自动化testing,我应该如何开始行为驱动开发?

我已经用很多语言进行了多年的编程,并且喜欢认为我一般都很擅长。 但是,我从来没有写过任何自动化testing:没有unit testing,没有TDD,没有BDD,什么都没有。 我试图开始为我的项目编写适当的testing套件。 我可以看到在进行任何更改后能够自动testing项目中的所有代码的理论价值。 我可以看到像RSpec和Mocha这样的testing框架应该如何设置和运行所述testing非常简单,我喜欢他们提供的用于编写testing的DSL。 但我从来没有设法为我的代码的任何部分写一个实际的unit testing。 我写的东西似乎从来没有以一种实际有用的方式进行testing。 函数在使用它们的上下文之外似乎不是很可调用的。 我写的许多函数都会进行HTTP请求调用或数据库查询,或者其他一些不易testing的调用。 一些函数返回HTML的string。 我可以将HTMLstring与相同string的硬编码版本进行比较,但似乎只能限制我更改代码部分的能力。 另外在我的testing代码中加载HTML是一团糟。 我可以传递模拟/间谍对象到一个方法,并确保他们得到某些方法调用,但据我所知,只是testing我正在“testing”的方法的实现细节。 我将如何开始正确的BDDtesting? (我最好喜欢用Mocha和Node.js来做这个,但是关于BDD的一般build议也可以。)

如何追查是什么导致超时?

我正在使用摩卡来运行一些testing。 当我遇到一组特定的testing时: describe "Results Summaries", -> before (done) -> Testing.use("surveyplanet_test") Testing.initialUsers -> Testing.clearResultData -> done() beforeEach (done) -> Testing.redis.flushdb -> done() describe "Multiple Choice", -> describe "Standard Choice Selection", -> before (done) -> Testing.clearResultData -> Testing.loadQuestion "standardMC", -> Testing.loadExportData data: summarydata.standardMC onComplete: done describe "Pre-Summarization", -> before (done) -> answer_data = {} Testing.getMultipleTables tables: ["answers_main"] […]