带有单元测试的JavaScript RIA示例

时间:2011-11-25 07:50:02

标签: javascript unit-testing ria

任何人都可以通过单元测试向我提供大型JS应用程序(包括AJAX,不同的UI小部件和复杂的架构)的示例吗?

我不是在谈论Selenium测试,只是简单的使用模拟的愚蠢的单元测试,不错的结果报告等。


不确定为什么人们投票决定关闭或低估这个问题。也许评论会很好。 说真的,我一直在努力寻找单元测试的网络应用,因为我很难建立模拟,我想知道是否有可能通过合理的努力。与Selenium测试相比,它让我想到了小部件测试的好处。人们在理论上对单元测试进行了大量讨论,但显然没有人真正在JS-RIA中做过。还是有他们?

4 个答案:

答案 0 :(得分:2)

就我个人而言,我喜欢Qooxdoo,为自己检查一下,看看这是不是你想要的

http://qooxdoo.org/demo#real-life_examples

答案 1 :(得分:1)

你应该看看Jasmine& Sinon.js:http://sinonjs.org/

这是一个很好的使用Backbone.js,Jasmine& amp;测试的教程。 Sinon.js:http://tinnedfruit.com/2011/03/03/testing-backbone-apps-with-jasmine-sinon.html

我还推荐使用Phantom.js进行集成测试......它是一个无头浏览器,比使用Selenium快得多...... http://www.phantomjs.org/

这是一个来自Pivotal的单元测试应用程序示例:https://github.com/pivotal/cimonitor。你可以在那里找到客户端测试 - > cimonitor/public/javascripts/js-common

答案 2 :(得分:0)

我不确定这个答案是否合格,但我正在研究我的宠物项目“Atomic OS”的下一次迭代(Web开发人员的操作系统隐喻),它最终将符合您的标准。

我正在开发一个基于Atomic OS v2基础的相关项目(我暂时还不能分享),并为移动Web应用程序提供了一组丰富的UI小部件。

我建造了&使用JSDog使用QUnit从JSDoc语法和单元测试运行器的子集生成文档。

有关我打算参加单元测试的示例,请参阅Atomic OS documentation。 (单击任务栏中的“文档”,然后选择一个类,例如HxJSFS

答案 3 :(得分:0)

只有一个观点:

我在作为视频分析系统前端的Web应用程序上工作。 (后端通常是运行非常非常精简的嵌入式Web服务器的IP摄像机,DVR或视频路由器。)它使用许多jQueryUI小部件,允许用户配置设备,创建视频分析规则,并绘制标记使用画布元素的视频帧。我认为它相当复杂。

我们使用单元测试(最初为JSUnit编写,但现在使用qunit)用于非常有限的代码子集。我们有单元测试来验证业务对象的行为,包括对XML进行序列化/反序列化的能力。我们有单元测试来测试我们为canvas标记编写的基本几何类。

但是,我们没有操作DOM的单元测试或验证页面上的元素是否处于正确状态。这样做正确地让我们感到难以解决的问题,所以我们依靠Selinium测试来验证给定的输入集合将DOM置于正确的状态。