我在Javascript中编写一组函数,意味着在浏览器中执行(没有服务器端Javascript)。
如何在不同的浏览器中再次运行单元和性能测试,并跟踪每次构建的结果?
答案 0 :(得分:9)
我一直在使用Jasmine框架进行测试和JSTestDriver。作为评估的一部分,我还为CI设置了Hudson和TeamCity,但最终还是选择了TeamCity。
Jasmine是一个非常好的BDD框架,它还提供了模拟和存根功能。
JSTestDriver服务器允许任何浏览器连接到它,无论是本地还是远程,正如Vojta已经指出的那样。我已经能够连接来自Windows和MAC机器的浏览器,以及iPhone ......如果移动开发让您满意,那么很有可能连接其他移动浏览器。 JSTestDriver将生成JUnit XML结果文件,Hudson或TeamCity将能够解析和报告这些文件。
正如Vojta所指出的,Eclipse插件可用于JSTestDriver。我最近转移到了WebStorm 1.0和现在的2.0(来自JetBrains的IDE),并且这个IDE也有一个插件,尽管有些错误。就JavaScript开发而言,WebStorm非常出色。
我们也在编写服务器端的JS代码,Jasmine也在这里运行良好。
我已经在亚马逊云上安装并配置了JsTestDriver / TeamCity,例如,我可以无头地运行Jasmine测试。
简而言之,在3个解决方案(Jasmine,JSTestDriver和TeamCity)之间,存在大量插件/适配器/配方,允许任意数量的设置或配置。这并不是说其他组合不起作用......对我来说,这种组合到目前为止已经证明了这一点。
答案 1 :(得分:1)
您好,您可以看一下JQunit,一个基于JQuery的javascript单元测试框架。这里有http://code.google.com/p/jqunit/
答案 2 :(得分:1)
Jasmine(http://pivotal.github.com/jasmine)是一个用于测试JavaScript的无依赖BDD框架。
使用Jasmine& amp; Jasmine Ruby gem可以针对不同的浏览器设置运行矩阵(Selenium在gem中驱动浏览器)并按照您的建议通过CI报告它们。应该是直截了当的。
答案 3 :(得分:1)
我正在使用JsTestDriver进行JS开发。它是一个测试运行器(不是单元测试框架),因此您可以将它与Jasmine或QUnit一起使用。
您只需启动服务器并捕获浏览器(也可以是远程浏览器!),然后通过命令行在所有这些浏览器上运行测试。
eclipse还有一个不错的插件。
有关如何设置持续构建环境的详细信息,请参阅http://code.google.com/p/js-test-driver/wiki/ContinuousBuild