Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/22.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_Angularjs_Phantomjs_Karma Runner - Fatal编程技术网

Javascript 因果报应和幻影有什么区别

Javascript 因果报应和幻影有什么区别,javascript,angularjs,phantomjs,karma-runner,Javascript,Angularjs,Phantomjs,Karma Runner,我知道Karma是JS单元测试框架(如Jasmine或Mocha)的测试运行者。PhantomJS为运行Jasmine或Mocha测试提供了无头浏览器 但是,业力和幻影有什么区别呢?它们是两个相互竞争的工具,还是我在Karma之上使用PhantomJS在没有浏览器的情况下运行我的单元测试?看起来您已经回答了自己的问题,但我将扩展您提到的内容 Karma是一个测试运行框架,它在很大程度上与测试框架语言无关。它有一个丰富的插件生态系统,允许您大量定制测试运行的方式、时间和原因 为了测试Javascr

我知道Karma是JS单元测试框架(如Jasmine或Mocha)的测试运行者。PhantomJS为运行Jasmine或Mocha测试提供了无头浏览器


但是,业力和幻影有什么区别呢?它们是两个相互竞争的工具,还是我在Karma之上使用PhantomJS在没有浏览器的情况下运行我的单元测试?

看起来您已经回答了自己的问题,但我将扩展您提到的内容

Karma是一个测试运行框架,它在很大程度上与测试框架语言无关。它有一个丰富的插件生态系统,允许您大量定制测试运行的方式、时间和原因

为了测试Javascript,我们通常需要针对DOM的化身进行测试。有很多插件可以让你连接到不同的浏览器,比如karma chrome。这些插件引导所需的浏览器,并针对浏览器执行测试


但是,有时您希望在目标测试盒上未安装物理浏览器的情况下运行。这就是PhantomJS的用武之地。它是一种无头浏览器,无需安装在目标机器上即可运行。它不能取代业力。如果你想把它描述为一个“竞争对手”,那么它将是IE、Firefox、Chrome和Safari的竞争对手。

PhantomJS与测试无关。在单元测试范围内,它将成为目标浏览器之一

PhantomJS允许您在桌面环境不存在时在浏览器中运行单元测试

Karma是一个跑步者,提供关于测试在何处成功的完成报告

Jasmine是用于编写单元测试的库

所以我想澄清一下


Jasmine单元测试由Karma在浏览器PhantomJS

中运行,因此如果我需要在浏览器上运行测试(例如在开发人员的笔记本电脑上),我只会使用Karma,当我想在CI服务器上运行测试时,我会使用Karma+PhantomJS?你仍然应该瞄准/需要瞄准开发者笔记本电脑上的浏览器。PhantomJS和chrome一样工作正常。请记住,如果您需要调试测试(您可能会这样做),Chrome或其他浏览器会更容易。我个人在我的开发机器和Ci服务器上运行。