pht*_*ier 404
Karma是一个浏览器测试运行器.
这个想法是浏览器本身没有加载测试文件,运行它们和报告结果的概念.业力所做的是(大致):
看每个部分:
(1)这些文件将是你的实际js文件; 你会告诉业力如何加载它们.如果你使用requirejs,有一个karma插件,需要一些配置.
(2)这些测试可以用各种Javascript测试框架(Jasmine,QUnit,Mocha)编写; 这是在浏览器中运行的JS代码.
(3)每个测试框架的自定义网页会有所不同; 这就是为什么业力有不同框架的插件.
(4)Karma可以在许多浏览器(FF,Chrome或像PhantomJs这样的无头浏览器)中启动页面.
(5)对业力的报告再次依赖于框架,并处理业力插件.
那么回答你的问题:
Sys*_*ank 67
了解差异的一种较短方法:
使用普通Jasmine/Mocha进行测试的人最有可能使用Node虚拟机运行所有代码.
将Karma添加到混合中(在您选择的现有框架之上)将使用其他浏览器的引擎运行您的测试套件.
通过这样做,您可以获得浏览器环境所带来的额外功能.测试与DOM相关的代码会更容易,但您也将放弃Node引擎提供的额外资源(如文件系统/ shell访问)
mau*_*777 32
设计Karma的人的论文在描述现有解决方案和比较它们方面非常有用,当然也描述了Karma本身
https://github.com/karma-runner/karma/blob/master/thesis.pdf
简介:Karma是一名试运行员.它可以被QUnit,Jasmine,Mocha使用...... Karma对其他测试跑步者有优势,可以改善您的TDD/BDD开发周期.它"监视"文件,因此当您保存更改时,Karma会立即运行测试并报告,而不会切换到Web浏览器的上下文来运行测试.
简而言之,也许问题应该是Karma AND Jasmine或Mocha还是QUnit?
| 归档时间: |
|
| 查看次数: |
92845 次 |
| 最近记录: |