草庐IT

node.js - 在 Node 中重用 MongoDB 连接

这是我得到的错误:[错误:db对象已经连接,不能多次调用open]。我在这个誓言测试中有一个全局mongo对象。mongo=newmongo.Db(config.api.apiTest,newmongo.Server('localhost',27017,{}),{native_parser:off,safe:true})当我第二次尝试打开它时出现此错误。所以即使我第一次使用db.close()它似乎也没有关闭。是否有另一种重用连接的方法?.addBatch("Redis-":"Standardaccount-":topic:->#.redisClient.del"#{accountId

testing - 从 vows 启动服务器进行测试的正确方法是什么?

我有一个express服务器,我正在使用vows进行测试。我想从vows测试套件中运行服务器,这样我就不需要让它在后台运行以使测试套件工作,然后我可以创建一个运行服务器并对其进行测试的蛋糕任务隔离。在server.coffee我创建了(express)服务器,配置它,设置路由并调用app.listen(port),如下所示:#Express-setupexpress=require'express'app=module.exports=express.createServer()#Express-configureandsetuproutesapp.configure->app.set

testing - 从 vows 启动服务器进行测试的正确方法是什么?

我有一个express服务器,我正在使用vows进行测试。我想从vows测试套件中运行服务器,这样我就不需要让它在后台运行以使测试套件工作,然后我可以创建一个运行服务器并对其进行测试的蛋糕任务隔离。在server.coffee我创建了(express)服务器,配置它,设置路由并调用app.listen(port),如下所示:#Express-setupexpress=require'express'app=module.exports=express.createServer()#Express-configureandsetuproutesapp.configure->app.set

node.js - 我应该从 Vows 切换到 Mocha 吗?

我正在尝试决定是否为大型Node应用程序从Vows切换到Mocha。我享受了几乎所有的Vows体验-但争论的传递有点奇怪。我总是不得不挠头来记住主题是如何工作的,这会干扰编写测试的基础。在深度嵌套的异步测试中尤其成问题。虽然我发现将Vows与async.js结合起来会有所帮助。因此,Mocha在报告方面似乎更加灵活。我喜欢自由选择测试风格,重要的是它也在浏览器中运行,这将非常有用。但是我担心它仍然不能解决深度嵌套异步测试的可读性问题。有没有人有任何实用的建议-Mocha可以让深度嵌套的测试变得可读吗?我错过了什么吗? 最佳答案 Mo

node.js - 我应该从 Vows 切换到 Mocha 吗?

我正在尝试决定是否为大型Node应用程序从Vows切换到Mocha。我享受了几乎所有的Vows体验-但争论的传递有点奇怪。我总是不得不挠头来记住主题是如何工作的,这会干扰编写测试的基础。在深度嵌套的异步测试中尤其成问题。虽然我发现将Vows与async.js结合起来会有所帮助。因此,Mocha在报告方面似乎更加灵活。我喜欢自由选择测试风格,重要的是它也在浏览器中运行,这将非常有用。但是我担心它仍然不能解决深度嵌套异步测试的可读性问题。有没有人有任何实用的建议-Mocha可以让深度嵌套的测试变得可读吗?我错过了什么吗? 最佳答案 Mo

javascript - V8 延迟生成堆栈跟踪似乎导致 vows 库中的无限循环

我花了一些时间在NodeJS测试套件中调试一个奇怪的无限循环问题。它只在极少数情况下发生,但我可以在附加到chrome调试器时重现它。我认为这与V8对stacktracesinexceptions的处理有关。以及vowslibrary的扩展名对AssertionError对象做了(誓言添加了一个toString方法)。也有可能是我弄错了,所以想问问我对V8实现的理解是否正确。这是重现错误的最小示例:$gitclonehttps://github.com/flatiron/vows.git$cdvows&&npminstall&&npminstallshould$cat>example.

javascript - V8 延迟生成堆栈跟踪似乎导致 vows 库中的无限循环

我花了一些时间在NodeJS测试套件中调试一个奇怪的无限循环问题。它只在极少数情况下发生,但我可以在附加到chrome调试器时重现它。我认为这与V8对stacktracesinexceptions的处理有关。以及vowslibrary的扩展名对AssertionError对象做了(誓言添加了一个toString方法)。也有可能是我弄错了,所以想问问我对V8实现的理解是否正确。这是重现错误的最小示例:$gitclonehttps://github.com/flatiron/vows.git$cdvows&&npminstall&&npminstallshould$cat>example.

mysql - 你如何在 Node.js 中模拟 MySQL(没有 ORM)?

我正在使用Node.js和felixge的node-mysql客户。我没有使用ORM。我正在使用Vows进行测试,并希望能够模拟我的数据库,可能使用Sinon。由于我本身并没有真正的DAL(除了node-mysql),我不确定如何去做。我的模型大多是带有很多setter/getter的简单CRUD。关于如何实现这一点的任何想法? 最佳答案 使用sinon,您可以在整个模块周围放置一个模拟或stub。例如,假设mysql模块有一个函数query:varmock;mock=sinon.mock(require('mysql'))mock

mysql - 你如何在 Node.js 中模拟 MySQL(没有 ORM)?

我正在使用Node.js和felixge的node-mysql客户。我没有使用ORM。我正在使用Vows进行测试,并希望能够模拟我的数据库,可能使用Sinon。由于我本身并没有真正的DAL(除了node-mysql),我不确定如何去做。我的模型大多是带有很多setter/getter的简单CRUD。关于如何实现这一点的任何想法? 最佳答案 使用sinon,您可以在整个模块周围放置一个模拟或stub。例如,假设mysql模块有一个函数query:varmock;mock=sinon.mock(require('mysql'))mock
12