问题 独立的Jasmine vs Karma - Jasmine


我是一般的测试新手,一直在自学 茉莉花。我试图理解运行Jasmine和。之间的区别 jQuery的茉莉花 在 因果报应 vs单独运行Jasmine。 Jasmine的教程没有解决使用Karma时所需的调整。

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

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

谢谢。


9306
2017-10-16 18:46


起源



答案:


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

位于浏览器之外的测试运行器为您带来许多好处:


8
2017-12-08 05:07



这对我有帮助。 @ user2943490你有没有使用构建工具的业力?像Grunt或Gulpjs一样喜欢用一个例子来理解。 - 干杯 - jamie
@jamie Karma是独立的npm模块,不依赖于Grunt或Gulp(你只需从控制台运行Karma karma start),所以你默认运行它而没有任何构建工具。如果你的意思是 同 例如,一个构建工具,有可用的插件 一饮而尽 - 卡玛 - user2943490


答案:


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

位于浏览器之外的测试运行器为您带来许多好处:


8
2017-12-08 05:07



这对我有帮助。 @ user2943490你有没有使用构建工具的业力?像Grunt或Gulpjs一样喜欢用一个例子来理解。 - 干杯 - jamie
@jamie Karma是独立的npm模块,不依赖于Grunt或Gulp(你只需从控制台运行Karma karma start),所以你默认运行它而没有任何构建工具。如果你的意思是 同 例如,一个构建工具,有可用的插件 一饮而尽 - 卡玛 - user2943490


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

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


2
2017-12-08 04:35