【发布时间】:2012-05-22 01:52:13
【问题描述】:
我们正在寻找一个 Javascript 测试框架,它可以在整个应用程序堆栈、客户端和服务器上执行测试。我们在客户端使用 jQuery、RequireJS 和 Backbone.js,在服务器上使用 Node.js 和 express。
Node.js 应该通过使用相同的语言(以及其他目标)为客户端和服务器端开发提供更相似的设置来简化创建 Web 应用程序。但是,我发现很难进行单元测试并想出一套可在客户端和服务器上运行的一致技术。
目前,我们在客户端使用 QUnit 进行测试,在服务器上使用 Expresso 和 Should.js。它们具有完全不同的接口,这使得测试客户端和服务器之间共享的代码变得非常困难。例如,考虑一个进行验证的模块,客户端和服务器都需要访问它,并且都需要在所有客户端和服务器上进行单元测试。
本质上,我正在寻找一个圣杯,它允许我们以类似于使用 python 和 ruby 等语言开发客户端-服务器应用程序的方式开发 Web 应用程序。
【问题讨论】:
-
我认为目前还没有一致的标准来处理客户端和服务器端的模块。 AMD 用于异步模块声明(在客户端使用),然后是 node.js 中的模块使用 commonjs 中建议的实现
-
@badunk 你是对的,这也是一个问题。但是,现在可以在服务器端使用 RequireJS。我们还没有这样做。 Node.js 使用同步需求。这里有一个名为 require.ensure() 的异步提案:wiki.commonjs.org/wiki/Modules/Async/A.RequireJS 在您习惯后非常简单,并且它的作者确实致力于使其变得更好。
-
@yaudaev 好样的!感谢您的提示;)
标签: javascript unit-testing node.js web-application-design