问题标签 [teaspoon]
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 - 使用 Teaspoon 和 Jasmine 测试 DOM 就绪
我正在为我的 Rails 应用程序使用 Teaspoon 和 Jasmine 编写测试。在大多数情况下,我了解如何测试独立的 js 模块,但我不确定如何测试绑定到 DOM 就绪事件的模块,例如 JQuery 的$(document).ready()
.
理想情况下,我可以在需要 JS 文件之前设置一个固定装置,但如果我不把它require
作为第一条语句,那么它就会被忽略。
通常如何进行测试?
我本来想做类似的事情:
酷.js:
cool_spec.js:
但这不起作用,因为如果//= require
出现在任何东西之后,它似乎不会加载 js。
即使我们把它最小化,比如$(document).ready(initFunction)
我们如何编写一个测试来确保initFunction
调用它而不在require
?
jasmine - 测试简单脚本时出现茶匙错误
我正在测试以下代码逻辑:
函数“handleOnMediaPlaying”在对象 pdkHandler 内。此外,在 pdhHandler 中还有另一个函数 handleOnMediaStart,我在其中定义变量 isAd(如果媒体是广告)、firstQuartileFlag(设置为 false)、midpointflag(设置为 false)和 thirdQuartileFlag(设置为 false)。我已经为相同的内容编写了以下规范,但它失败并出现错误说“预计错误为真”。下面是规格......
描述(“handleOnMediaPlaying”,函数(){
});
当一切都直截了当时,我不知道为什么它会失败。请帮忙。
javascript - “监听”来自 Capybara / Selenium 的 AJAX 调用 - Rails
我有一个应用程序可以对某些事件(例如.click
)进行 AJAX 调用。feature specs
有没有办法用Capybara
/来“监听”真正的 AJAX 请求Selenium
?
我试过了Teaspoon gem
,但显然它只允许访问夹具 URL(根据这个 SO)。
javascript - 在 Rails 中准确测试 JavaScript 分析交付系统
我在一个大型 Rails 应用程序上工作。我们有一个 JavaScript 功能,可作为通用分析数据交付系统。它基于各种页面交互事件(点击、页面浏览等)发布一般分析数据,但与框架无关,因为数据并不特定于谷歌分析想要开箱即用的东西。这只是关于交互的一般数据。
这个想法是,可以编写一个用于谷歌分析(或任何其他第 3 方分析工具)的适配器模块,以获取通用库生成的数据,扩充数据以满足第 3 方的需求,并将其发送到他们的端点.
我的问题是关于准确测试此功能。
我们使用 Rspec 进行大部分测试,使用 Teaspoon 进行 JavaScript 单元测试。理想情况下,我想编写一个功能测试来导航我们的应用程序,点击各种触发元素,并确认通用分析数据被正确公布。
这甚至可能吗,还是我们的 Teaspoon 测试就足够了?
ruby-on-rails - 用茶匙测试 AngularJS
我正在尝试使用 Teaspoon 和 Jasmine 套件在 Ruby on Rails 中测试我的 AngularJS 脚本。在运行“rake teaspoon”时,我收到以下错误 -
任何指针?
javascript - rails teaspoon 在引擎中测试未加载 *_spec.js
我正在开发一个引擎(gem),它有一些要测试的 js 代码,但似乎我无法让它工作。我已经按照wiki 文章设置了一个基本示例,但我只得到0 examples, 0 failures
.
完成的步骤:
- 在 gemspec 文件中添加了 s.add_development_dependency 'teaspoon-jasmine'
- 假人在规格/假人中
规格/teaspoon_env.rb:
/li>耙文件:
/li>- spec/javascripts/spec_helper.js(默认生成)
规范/javascripts/example_spec.js:
/li>
问题是当我尝试运行测试引擎时,我得到:
我也尝试运行以下命令,结果相同:
- $> 捆绑执行茶匙
- $> 耙茶匙
- $> bundle exec 茶匙规范/javascripts/example_spec.js
- 甚至 $> bundle exec teaspoon spec/javascripts/non_existent_file_spec.js
我不太清楚什么不起作用。作为非标准应用程序,我通过 browserify-rails 使用 es6(工作正常),并进入 engine.rb:
任何帮助或线索将不胜感激。
更新:
我已经从 strach 创建了一个引擎,因此很容易检查和重现问题。
特别是与茶匙设置相关的提交是这个
ruby-on-rails-4 - 未初始化的常量 Teaspoon::Framework
将茶匙 0.9.1 升级到茶匙茉莉花 2.3.4。运行 rails generate teaspoon:install 后得到“错误:未初始化的常量 Teaspoon::Framework。” 错误
我正在使用茉莉花框架。知道为什么会抛出框架错误吗?
jquery - 使用 mocha/chai 在 AJAX 请求中对 window.location.href 进行单元测试
我需要测试是否window.location.href = data.redirect_path
发生过。我将如何在 Sinon 中模拟它而不使我远离我的测试运行器?我正在使用带有茶匙的 chai/mocha.js 作为我的测试运行器。
ruby-on-rails - 如何测试将 templateUrl 与 angular-rails-templates 一起使用的 angular 指令
我使用 teaspoon 作为测试运行器,它加载所有模板文件(使用 angular-rails-templates),它templates
用如下内容填充模块:
我的指令咖啡是这样的:
还有我的测试咖啡
该指令将永远不会与此一起呈现。如果我将 templateUrl 替换为模板内容,那么它运行良好。但这根本没有用。在使用 templateUrl 进行测试期间让指令呈现我缺少什么?
ruby-on-rails - 茶匙:“找不到变量“(导轨)
所以这似乎是一个奇怪的错误,我刚刚开始使用茶匙,并试图在 Rails 项目中设置它。
我有一个非常简单的功能,我正在尝试:
简单吧?
我将它包含在我的规范文件中,如下所示:
为什么我得到一个"Can't find variable "Add" in http://127.0.0.1:8000/assets/test_spec.self.js?body=1 (line 5)"
我错过了什么吗?我知道这个项目确实有我知道需要编译的 ES6 模块等,但是....这不使用我相信的任何 ES6 语法。