问题标签 [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.
javascript - 茉莉间谍未定义
当我运行我的茉莉花规格时,我收到以下错误:
我的咖啡脚本代码:
我已经将我的错误代码简化为上面的调试代码,但我无法弄清楚为什么当我明确地将它称为我的测试时,它会说从未调用过间谍。我正在其他地方测试该方法,所以我认为错误必须与我使用 Jasmine Spy 的方式有关。谢谢。
testing - 如何在 Jasmine 中将标签设置为夹具
我目前正在尝试使用 Jasmine 测试 JS 函数。由于该函数检查body
标签中设置的 CSS 类,因此我想<body>
在夹具中使用该标签:
jQuery 对这个存根 HTML 的引用$('body')
——然后交给我正在测试的 JS 函数。但是这个body
标签显然从来没有真正到达 Jasmine 测试中——它看起来好像 Jasmine 用一个 body 创建了自己的文档,并且在里面它把所有的固定装置放在一个里面div
——至少当我回outerHTML
显存根 body 元素的时候,我在里面看到了这个一个正文和一个与 Jasmine 相关的内联 JS 之后:
当我尝试对身体进行存根时,它是空的,但当我使用 a 时它是填充的div
。
有没有办法在 Jasmine 测试中存根 body 标签?
jquery - Jasmine maven 插件和 jasmine-jquery 不同的结果
我的项目是标准的 maven java 项目。我正在尝试将 jasmine-maven 插件包含到我的 CI 中。但是当我运行 command 时mvn clean install
,它会正确运行测试。但是,如果我mvn jasmine:bdd
从浏览器运行并运行测试。我的 html 装置未加载。
这是我的项目结构。
这是我的 pom.xml
当我从浏览器运行测试时。所有的 html 固定装置都是 404。有没有办法让两种方式都起作用?
这就是我加载夹具的方式
这是我的 jasmine-jquery 路径配置
jquery - 为什么在我的 jasmine 测试中 jQuery 代码没有执行,或者至少看起来没有执行?
我正在使用 jasmine-rails gem 运行 Rails 3.2.8。以下是我的 Gemfile 中描述 jasmine 设置的行:
我也在使用jasmine-jquery扩展。这组函数提供了我在测试中使用的 toHaveText 方法。我已将 jasmine-jquery 扩展文件保存到 spec/javascripts/helpers 目录中。
直接位于 spec/javascripts 目录中的名为 UserInvitationsSpec.js 的测试文件包含以下内容:
如您所见,我包含了一个基本的 javascript 测试,以显示非 jQuery 测试按预期工作。
我位于 app/assets/javascripts 目录中的 javascript 文件 core.js 包含以下内容:
当我通过终端运行“bundle exec jasmine-headless-webkit”时,输出如下:
我位于同一 app/assets/javascripts 目录中的 application.js 文件具有以下内容:
我位于 spec/javascripts/support 目录中的 jasmine.yml 文件包含以下内容:
知道为什么在应用程序中正常工作的 jQuery 函数没有在测试环境中执行吗?
非常感谢!
-丽贝卡
javascript - Jasmine jQuery 未检测到 DOM 操作
我正在使用 Jasmine jQuery 测试自定义 javascript 模块的 AJAX 请求,最终它是对 DOM 的后处理操作,但我的 Jasmine 测试没有找到新操作的元素。
茉莉花测试如下...
在该SC.init()
方法中,它将元素添加到 DOM,然后运行 AJAX 请求,该请求返回数据并将其注入 DOM。这些新创建的元素匹配“div.search_result”。
我已经确认所有 AJAX 请求都在正常运行,并且 SC 库正在正确地将所有元素注入 DOM;从功能的角度来看,该库正在运行。问题是如何让 Jasmine 测试来查看 DOM 的更新。同样,我不需要帮助调试 SC 代码库;我需要帮助调试测试本身。
你看到有什么不正常的地方吗?
javascript - 使用 Jasmine-Maven 测试 AJAX 调用
对于我当前的项目,我正在使用 Jasmine 设置 JS 测试。我们希望我们的测试在每次构建时自动运行,所以我将它插入到我们的 Maven 构建中。我可以运行 Javascript 的一些基本测试,并且一切正常。到目前为止,一切都很好!
但是,我们正在构建一个富客户端接口,并对服务器进行大量回调——因此,我们的代码中有很多 $.ajax 调用。每当我尝试加载包含调用的 JS 文件(不执行测试,甚至还没有处理)时,Maven 构建每次都会崩溃,因为它已经尝试执行回调:
所以,只是为了说清楚:我不是在这里运行测试,我只是在加载源代码。到目前为止,这是我的插件的配置:
任何人都有这方面的经验,并且知道我必须如何配置它?
backbone.js - 用 jasmine 测试主干视图
我正在尝试用茉莉花测试我的主干观点。我使用下划线库为主干视图生成模板。
出于测试目的,我使用 jasmine jasmine-jquery
由于视图已嵌入 ruby,因此我无法在 jasmine 测试中加载固定装置。这是我的代码
主干视图
此视图使用以下模板
专辑模板album_template.html.erb
骨干模型
茉莉花测试-album_spec.js
此规范加载以下夹具 - album_fixture.html
这个测试失败了
期望(this.view.template).toBeDefined();
当此测试通过时,夹具正在加载 expect($("#albums")).toExist();
我的问题是如何加载具有嵌入式 ruby 视图的固定装置?我能够成功测试模型和集合,但在测试视图时遇到了麻烦。
jquery - 如何加载 Rails 视图以在 Jasmine 中进行测试?
以下代码在浏览器中运行,但如何使用 Jasmine 对其进行测试?单击 后#opener
,它应该会显示一个 jQuery 对话框并进行 ajax 调用以加载内容:
spec.js.coffee:
看法:
它没有得到点击事件,所以似乎没有加载视图。如何加载视图进行测试?
在 Rails 3.2.2 和 Jasminerice 中工作。
unit-testing - jasmine-jquery qUnit 替代方案
我目前正在测试一些使用模板呈现的 Backbone.js 视图。我的模板在我的 html 中定义并使用 jinja 构建服务器端。我使用的单元测试框架是 qUnit。我希望能够做一些类似于 jasmine-jquery loadFixtures 功能的事情,即将我的模板加载到我的测试套件中以便能够呈现我的视图(在此处描述:http: //lostechies.com/derickbailey/2011 /09/06/test-driving-backbone-views-with-jquery-templates-the-jasmine-gem-and-jasmine-jquery/ Jasmine-JQuery Fixtures To The Rescue! 部分)。
qUnit 有替代方案吗?一个更好的方法继续?
这是我的观点的定义方式:
这是我定义模板的方式:
visual-studio - Unable to get jasmine-jquery fixtures to load in Visual Studio with Chutzpah, or even in browser
I'm prototyping a MVC.NET 4.0 application and am defining our Javascript test configuration. I managed to get Jasmine working in VS2012 with the Chutzpah extensions, and I am able to run pure Javascript tests successfully.
However, I am unable to load test fixture (DOM) code and access it from my tests.
Here is the code I'm attempting to run:
test.js
The fixture is in the same folder as the test file. The setFixtures
operation works, but when I attempt to load the HTML from a file, it doesn't. Initially, I tried to use the most recent version of jasmine-jquery from the repository, but then fell back to the over 1 year old download version 1.3.1 because it looked like there was a bug in the newer one. Here is the message I get with 1.3.1:
Test 'jasmine tests::Copies data correctly' failed Error: Fixture could not be loaded: ./testfixture.html (status: error, message: undefined) in file:///C:/Users/db66162/SvnProjects/MvcPrototype/MvcPrototype.Tests/Scripts/jasmine/jasmine-jquery-1.3.1.js (line 103)
When I examine the source, it is doing an AJAX call, yet I'm not running in a browser. Instead, I'm using Chutzpah, which runs a headless browser (PhantomJS). When I run this in the browser with a test harness, it does work.
Is there someone out there who has a solution to this problem? I need to be able to run these tests automatically both in Visual Studio and TeamCity (which is why I am using Chutzpah). I am open to solutions that include using another test runner in place of Chutzpah. I am also going to evaluate the qUnit testing framework in this effort, so if you know that qUnit doesn't have this problem in my configuration, I will find that useful.