Karma vs 测试框架 Jasmine, Mocha, QUnit [已关闭]
2022-08-30 00:22:06
Karma是一个浏览器测试运行程序。
这个想法是浏览器本身没有加载测试文件,运行它们和报告结果的概念。业力的作用是(大致) :
查看每个部分:
(1)这些文件将是你实际的js文件;你会告诉业力如何加载它们。如果你使用 requirejs,有一个 karma 插件,需要一些配置。
(2)这些测试可以写在各种Javascript测试框架(Jasmine,QUnit,Mocha)中;这是在浏览器中运行的JS代码。
(3)自定义网页对于每个测试框架会有点不同;这就是为什么Karma有针对不同框架的插件。
(4)Karma可以在许多浏览器(FF,Chrome或PhantomJs等无外设浏览器)中启动页面。
(5)向业力报告同样依赖于框架,并处理业力插件。
因此,要回答您的问题:
一种理解差异的简短方法:
使用普通的Jasmine / Mocha进行测试的人很可能正在使用Node虚拟机运行所有代码。
将Karma添加到组合中(在您选择的现有框架之上)将使用其他浏览器的引擎运行您的测试套件。
通过这样做,您可以获得浏览器环境带来的一些额外功能。测试DOM相关代码会更容易,但你也会放弃Node引擎提供的额外资源(如文件系统/shell访问)