独立的Jasmine vs Karma - Jasmine

fst*_*ero 11 jquery unit-testing jasmine karma-runner karma-jasmine

我是一般的测试新手,一直在教自己Jasmine.我试图理解在Karma中运行Jasmine和jQuery-Jasmine与运行Jasmine 之间的区别.Jasmine的教程没有解决使用Karma时所需的调整.

有人可以向我解释一下Karma-Jasmine与独立Jasmine的要求有何不同?它仍然需要规范运行器,文件结构是否仍然相同?

我正在测试DOM事件 - 很多点击处理程序 - 并且不了解如何模拟它.有人能概述一些基本想法吗?例如,如果我想在用户单击按钮后检查是否已将ap元素添加到div中,那么它在文件结构和函数中的工作方式如何?

谢谢.

use*_*490 9

Karma和Jasmine的SpecRunner.html都是测试跑步者(又名规格跑者).两者之间的区别在于,Karma是一个在浏览器之外运行的应用程序,而SpecRunner是一个普通的HTML文件,其中包含一些您在浏览器中打开的脚本引用.

位于浏览器之外的测试运行器为您提供了许多好处:


oss*_*sek 2

我没有使用过 jasmine-jquery,但是对于 Karma 的 jasmine 测试,Karma 使用 karma.conf.js发现外部依赖项(例如 jasmine-jquery)。特别是文件属性这里有一些不错的示例。 如果您使用 jasmine 的 SpecRunner.html 运行 jasmine 测试,则需要确保您使用的任何内容都通过脚本标记链接到 SpecRunner.html 中。

至于测试点击处理程序,一种不错的选择可能是直接调用点击处理程序函数。听起来如果你想要更现实的东西,你就离功能测试越来越近了。为此,您可能会考虑合并噩梦来自动化用户交互,例如点击等。