问题标签 [jasmine-jquery]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
jquery - ReferenceError:运行 JasmineHeadlessWebkit 时找不到变量:$
至少在过去的两个小时里,我一直试图找到答案,但没有任何运气。我希望这里有人可以提供帮助。
我在ReferenceError: Can't find variable: $
使用 JasmineHeadlessWebkit 运行我的 Jasmine 规范时得到了这个。
奇怪的是,这只发生在我说
在我的game.coffee
档案中。
我可以在$
没有任何问题的情况下使用game.coffee
. 例如:
这完全没有问题。
此外,测试在 Chrome 中运行良好。
所以,我假设这与 jQuery 没有及时加载有关,但我不知道为什么。
我有 jQuery in specs/javascripts/helpers/
and injasmine.yml
我提到了helpers
之前的spec_files
andsrc_files
但这似乎并没有真正的区别。
因此,如果有人知道如何确保在运行 Jasmine 的规范时完全加载 jQuery,我将非常感谢任何帮助。
另外,如果您需要任何其他信息,请告诉我。
谢谢你。
angularjs - 如何解决 Jasmine 单元测试中的 $q.all 承诺?
我的控制器有如下代码:
在我的单元测试中,我正在做这样的事情:
现在在我的测试中,我正在检查是否调用了服务,并且 data1、data2 不是未定义的。
我的问题是,在我用 q.all 替换控制器中的个人服务调用并scope.$apply
用rootScope.$digest
. 使用 q.all 和rootScope.$digest
(也尝试使用scope.$apply
)两个测试都失败并出现错误:
达到 10 次 $digest() 迭代。中止!
如果我删除rootScope.$digest
,那么承诺永远不会得到解决并且测试失败说
期望定义未定义。
任何帮助我应该如何对代码进行单元测试q.all
?
偶然发现了这个帖子
但这也无济于事,因为我已经在尝试使用$digest
.
javascript - 在 Jasmine 中完成测试 CSS 过渡
我正在尝试使用 jasmine 和 jasmine-jquery 测试一些 JavaScript
所以我在函数中有一点 Javascript
我在 spec.css 中应用了一些样式,添加了一个 css 转换并将一些 html 添加到一个夹具中,然后添加到 jasmine 规范中,如下所示:
现在我已经在页面上对此进行了测试并且可以正常触发,但是在运行器上它失败了,甚至 console.log 也没有运行。你能测试转换吗?
jquery - 如何使用 jasmine 对保存时的主干成功和错误响应进行单元测试
如何在 Jasmine 中对模型的保存成功和错误响应进行单元测试?
jquery - Jasmine 在原型方法上的 spyOn toHaveBeenCalled 问题
我对方法进行监视的示例以“预期的间谍句柄单击已被调用”而失败。什么时候应该通过。但是,我得到了控制台日志“Foo handle_click called!”,所以我知道它正在被调用。
Foo.js
Foo_spec.js:
我正在使用 jasmine-1.2.0、jasmin-html 和 jasmine-jquery,但不是 jasmine-sinon;至少我不认为它捆绑在那里。任何帮助深表感谢!
更新 这在下面得到了回答。但是,我想在 jQuery 插件的情况下记录解决方案:
Foo.js:
Foo_spec.js:
jasmine - 使用 jasmine 和 jstestdriver 运行多个规范
我已经编写了多个规范文件,用于对网页上的各种模块进行单元测试。如果我单独运行它们,一次一个它们工作正常。但是当我尝试按顺序运行所有文件时,只有 spec 文件夹中的第一个文件有效,而所有其他测试都失败了。任何帮助,将不胜感激。
每个规范文件都使用 requirejs 加载一个静态页面并将它们呈现在页面上。呈现页面后,我会检查标题、文本等是否正确。规范文件看起来像这样。关于Spec.js-->
FooterSpec.js-->
jstestDriver.conf-->
当我运行此设置时,“关于”页面不会呈现。由于所有关于页面的测试用例都失败,因此仅呈现页脚页面。
javascript - Jasmine - 单击时检查 addClass
这是一个 Rails 应用程序。我将 Jasmine gem 与 Jasmine-Jquery 一起使用。
这是我在资产管道中的 JS:
这是我的名为 workgrid_spec.html 的夹具:
这是我的规范文件:
这是我得到的错误:
javascript - Jasmine 测试:监听 DOM 变化
我有一个 requireJS 设置,其中有一个“imageGallery”模块,用于侦听和处理“.gallery”元素上的点击事件。这反过来使用插件“magnificPopup”打开基于单击元素的图像库。
我想用 Jasmine 对此进行测试;那就是我想测试是否调用了单击事件并且 magnificPopup 的 html 在 dom 中 - 证明单击事件是成功的。
我当前的点击测试使用“waitsFor”,但这总是失败。关于如何实现这一目标的任何想法?
图片库模块
图片库 茉莉花测试
angularjs - Jasmine-jquery,为(嵌套)指令测试生成的 GUI
我最近开始使用 jasmine-jquery (1.3.1) 和 angular (1.0.6) 并且需要有关测试 GUI 的建议。我有一些控制器视图,它有角度指令,比如“view.html”:
,并且在 JS 中定义了一个指令“myDirective”,具有模板-URL 'myDirective.html',其中包括ng-repeat
并在objectsToIterate
. 我为“view.html”和“myDirective.html”加载了固定装置。现在我想测试一下,在用户交互过程中,“myDirective”重复块中确实有一些元素(行)。开始很简单:
现在我被困住了。无法访问“myDirective”元素的“生成”源。如果我使用
我明白了
如果我尝试针对范围编译+消化这个 html,我仍然会得到相同的标记。我怎么能得到“生成”的源,看起来像(伪)
为了检查用户是否可以看到 N 行?
someScopeObjects
在范围内存在并且有效。
我的下一步实际上是为嵌套在“my-directive”中的指令测试同样的东西,所以我必须以某种方式访问“my-directive”的范围。如何?:)
谢谢你。
jquery - 我将如何测试 Jasmine 中的 $scope.watch (AngularJS) 更改?
我最近刚开始用 AngularJS 编写一些东西,但我不确定如何为这个特定的东西编写测试。我正在构建一个具有不同状态的“帮助请求”模式。所以在我的控制器中,我使用了一个 $scope.request_mode 变量。激活帮助请求的不同链接将该变量设置为不同的值。
然后在我的指令中,我正在做一个$scope.$watch('request_mode', function(){...});
随着请求模式的变化有选择地激活或停用事物。代码都很好用,但我遇到的问题是测试。我似乎无法让 Jasmine 拿起$scope.$watch
并在它发生变化时实际发射任何东西。
我敢肯定有人以前遇到过这个问题,所以任何建议都会非常感激。