一般来说,我是测试新手,并且一直在自学Jasmine。我正在尝试理解在Karma中运行Jasmine和jQuery-Jasmine与单独运行Jasmine之间的区别。Jasmine的教程没有解决使用Karma时需要进行的调整。
谁能给我解释一下Karma-Jasmine和独立的Jasmine在需求上有什么不同?它是否仍然需要等级库运行器,文件结构是否仍然相同?
我正在测试DOM事件--很多点击处理程序--但我不知道如何模拟它。有人能概述一下基本的概念吗?例如,如果我想在用户单击按钮后检查p元素是否已添加到div中,那么在文件结构和函数中如何工作?
谢谢。
发布于 2014-12-08 13:07:35
Karma和Jasmine的SpecRunner.html都是测试跑步者(又称规范跑步者)。两者之间的区别在于,Karma是一个在浏览器外部运行的应用程序,而SpecRunner是一个普通的超文本标记语言文件,其中包含一堆可以在浏览器中打开的脚本引用。
一个运行在浏览器之外的测试运行程序会给你带来很多好处:
在once
之前,
中纠缠数百个<script>引用。
发布于 2014-12-08 12:35:15
我没有使用过jasmine-jquery,但是对于使用Karma进行的jasmine测试,Karma使用karma.conf.js来发现外部依赖项(比如jasmine-jquery)。尤其是files property。一些很好的例子是here如果您正在使用jasmine的SpecRunner.html运行jasmine测试,则需要确保您使用的任何内容都与SpecRunner.html中的脚本标记相链接。
至于测试点击处理程序,一个不错的选择可能是直接调用点击处理函数。听起来,如果你想要更现实的东西,你离功能测试越来越近了。为此,您可以考虑整合nightmare来自动化用户交互,如点击等。
https://stackoverflow.com/questions/26411699
复制相似问题