问题标签 [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.

0 投票
2 回答
441 浏览

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?

0 投票
1 回答
49 浏览

jasmine - 测试简单脚本时出现茶匙错误

我正在测试以下代码逻辑:

函数“handleOnMediaPlaying”在对象 pdkHandler 内。此外,在 pdhHandler 中还有另一个函数 handleOnMediaStart,我在其中定义变量 isAd(如果媒体是广告)、firstQuartileFlag(设置为 false)、midpointflag(设置为 false)和 thirdQuartileFlag(设置为 false)。我已经为相同的内容编写了以下规范,但它失败并出现错误说“预计错误为真”。下面是规格......

描述(“handleOnMediaPlaying”,函数(){

});

当一切都直截了当时,我不知道为什么它会失败。请帮忙。

0 投票
1 回答
228 浏览

javascript - “监听”来自 Capybara / Selenium 的 AJAX 调用 - Rails

我有一个应用程序可以对某些事件(例如.click)进行 AJAX 调用。feature specs有没有办法用Capybara/来“监听”真正的 AJAX 请求Selenium

我试过了Teaspoon gem,但显然它只允许访问夹具 URL(根据这个 SO)。

0 投票
1 回答
66 浏览

javascript - 在 Rails 中准确测试 JavaScript 分析交付系统

我在一个大型 Rails 应用程序上工作。我们有一个 JavaScript 功能,可作为通用分析数据交付系统。它基于各种页面交互事件(点击、页面浏览等)发布一般分析数据,但与框架无关,因为数据并不特定于谷歌分析想要开箱即用的东西。这只是关于交互的一般数据。

这个想法是,可以编写一个用于谷歌分析(或任何其他第 3 方分析工具)的适配器模块,以获取通用库生成的数据,扩充数据以满足第 3 方的需求,并将其发送到他们的端点.

我的问题是关于准确测试此功能。

我们使用 Rspec 进行大部分测试,使用 Teaspoon 进行 JavaScript 单元测试。理想情况下,我想编写一个功能测试来导航我们的应用程序,点击各种触发元素,并确认通用分析数据被正确公布。

这甚至可能吗,还是我们的 Teaspoon 测试就足够了?

0 投票
0 回答
129 浏览

ruby-on-rails - 用茶匙测试 AngularJS

我正在尝试使用 Teaspoon 和 Jasmine 套件在 Ruby on Rails 中测试我的 AngularJS 脚本。在运行“rake teaspoon”时,我收到以下错误 -

任何指针?

0 投票
2 回答
565 浏览

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 创建了一个引擎,因此很容易检查和重现问题。

回购引擎示例

特别是与茶匙设置相关的提交是这个

0 投票
1 回答
115 浏览

ruby-on-rails-4 - 未初始化的常量 Teaspoon::Framework

将茶匙 0.9.1 升级到茶匙茉莉花 2.3.4。运行 rails generate teaspoon:install 后得到“错误:未初始化的常量 Teaspoon::Framework。” 错误

我正在使用茉莉花框架。知道为什么会抛出框架错误吗?

0 投票
2 回答
765 浏览

jquery - 使用 mocha/chai 在 AJAX 请求中对 window.location.href 进行单元测试

我需要测试是否window.location.href = data.redirect_path发生过。我将如何在 Sinon 中模拟它而不使我远离我的测试运行器?我正在使用带有茶匙的 chai/mocha.js 作为我的测试运行器。

0 投票
1 回答
63 浏览

ruby-on-rails - 如何测试将 templateUrl 与 angular-rails-templates 一起使用的 angular 指令

我使用 teaspoon 作为测试运行器,它加载所有模板文件(使用 angular-rails-templates),它templates用如下内容填充模块:

我的指令咖啡是这样的:

还有我的测试咖啡

该指令将永远不会与此一起呈现。如果我将 templateUrl 替换为模板内容,那么它运行良好。但这根本没有用。在使用 templateUrl 进行测试期间让指令呈现我缺少什么?

0 投票
1 回答
219 浏览

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 语法。