Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/372.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
针对不同浏览器持续集成/测试Javascript代码_Javascript_Performance_Unit Testing_Continuous Integration - Fatal编程技术网

针对不同浏览器持续集成/测试Javascript代码

针对不同浏览器持续集成/测试Javascript代码,javascript,performance,unit-testing,continuous-integration,Javascript,Performance,Unit Testing,Continuous Integration,我正在用Javascript编写一组函数,这些函数将在浏览器中执行(没有服务器端Javascript) 如何在不同的浏览器中对它们运行单元和性能测试,并跟踪每个构建的结果 测试应该在浏览器中执行 测试结果应作为独立文本或html文件生成 目标浏览器是Internet Explorer 7和8、最新的Firefox、最新的Chrome和最新的Safari 如果需要,我可以自由设置专用CI服务器和虚拟机 您好,您可以看看JQunit,一个基于JQuery的javascript单元测试框架。可在此处

我正在用Javascript编写一组函数,这些函数将在浏览器中执行(没有服务器端Javascript)

如何在不同的浏览器中对它们运行单元和性能测试,并跟踪每个构建的结果

  • 测试应该在浏览器中执行
  • 测试结果应作为独立文本或html文件生成
  • 目标浏览器是Internet Explorer 7和8、最新的Firefox、最新的Chrome和最新的Safari
  • 如果需要,我可以自由设置专用CI服务器和虚拟机

您好,您可以看看JQunit,一个基于JQuery的javascript单元测试框架。可在此处找到

茉莉花(http://pivotal.github.com/jasmine)是一个用于测试JavaScript的无依赖性BDD框架


使用Jasmine&Jasmine-Ruby-gem来设置针对不同浏览器(Selenium驱动gem中的浏览器)的运行矩阵,并按照您的建议通过您的CI报告它们,这将非常容易。应该很简单。

我正在使用JsTestDriver进行JS开发。它是一个测试运行程序(不是单元测试框架),所以您可以将它与Jasmine或QUnit一起使用

您只需启动服务器并捕获浏览器(也可以是远程浏览器!),然后通过命令行在所有这些浏览器上运行测试

eclipse也有一个不错的插件


有关如何设置连续构建环境的更多信息,请参见我一直在使用Jasmine框架进行测试和JSTestDriver。作为评估的一部分,我还为CI建立了哈德逊和TeamCity,不过最终还是选择了TeamCity

Jasmine是一个非常好的BDD框架,它还提供模拟和存根功能

正如Vojta已经指出的那样,JSTestDriver服务器允许任何浏览器连接到它,无论是本地的还是远程的。例如,我已经能够连接Windows和MAC机器上的浏览器,还有iPhone。。。如果你喜欢移动开发,那么连接其他移动浏览器是完全可能的。JSTestDriver将生成JUnitXML结果文件,Hudson或TeamCity将能够解析并报告这些文件

正如Vojta还指出的,一个Eclipse插件可用于JSTestDriver。我最近转向了WebStorm 1.0,现在是2.0(JetBrains的IDE),这个IDE也有一个插件,尽管有点bug。顺便说一句,就JavaScript开发而言,WebStorm非常优秀

我们还在编写服务器端JS代码,Jasmine在这里也工作得很好

我已经在Amazon云上安装并配置了JsTestDriver/TeamCity,例如,我能够无头运行Jasmine测试


简言之,在这三种解决方案(Jasmine、JSTestDriver和TeamCity)之间,存在大量插件/适配器/配方,允许进行任意数量的设置或配置。这并不是说其他组合将不起作用。。。简单地说,对我来说,到目前为止,这种组合已经证明了自己。

Igor为我们的CI制作了很好的剧本:JsTD、Jasmine、Jenkins(Hudson)、AngularJS。。。