问题标签 [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 投票
1 回答
133 浏览

ruby-on-rails - Ruby Teaspoon 未知的默认套件

我在我的 Rails 项目中运行

错误输出是

谁能解释一下这个问题是什么意思?

0 投票
0 回答
65 浏览

teaspoon - 运行 Teaspoon 时出现“不是有效标识符”错误

运行茶匙时,我收到以下错误:

我还不能确定哪个文件的第 25 行是问题所在。

0 投票
0 回答
443 浏览

jquery - 通过 CLI 运行时,Emberjs 测试挂起

当我通过命令行运行 Ember 测试套件时,它会超时。我已经对此进行了跟踪,这是由于ajaxComplete没有触发通过调用启动的 AJAX 请求visit,但是当通过浏览器运行时,同样的请求会触发完整的事件。

ajaxComplete事件触发对 Ember 的调用decrementAjaxPendingRequests,如果未调用,它将在wait方法期间不断旋转,因为Test.pendingAjaxRequestsrequests 不为 0。您可以在此处看到:

有问题的 AJAX 请求来自我的一条路线中的模型挂钩,它是一个简单的return this.store.find('model_name'). 我正在使用 sinon.js 来伪造这个请求,如果我then在那个 find 调用上加上一个子句,我会看到它正确返回,但它仍然没有触发它的ajaxComplete事件。

这是我的堆栈:

  • 余烬:1.7.1
  • 灰烬数据:1.0.0-beta.8.2a68c63a
  • 茶匙(我的测试跑步者):0.8.0
  • jQuery:1.10.2
  • PhantomJS(CLI 测试运行程序):1.9.7 && 1.8.2

有谁知道这是否有任何未解决的问题,或者堆栈的哪个特定部分可能导致它?我不知道从这里去哪里。

0 投票
0 回答
303 浏览

javascript - 如何从 javascript 单元测试中访问 Rails 固定装置?

我们现在已经在应用程序的 Rails 端进行了大量工作测试,并开始使用 Teaspoon/Mocha/Sinon/Expectjs 在 javascript 端尝试单元测试。

现在我们正在深入挖掘,我们正试图找到访问 rails 夹具数据的正确方法。例如,我们希望能够使用ActiveRecord模型id编号(调用,例如,/users/:some_id)对(模拟)服务器进行正确的 api 调用,但这些是在运行时由夹具生成生成的。

到目前为止,我们让它工作的唯一方法是创建一个MagicLamp呈现 json 的夹具(而不是,比如说,一个 rails 部分),然后调用MagicLamp.loadJSON()而不是MagicLamp.load. 然而,这似乎是实现这一目标的一种 hacky 方式。本质上,我们希望有一种方法可以创建一个文件magic_lamp.rb,您可以在其中设置一个类似于 Rails 生成的夹具助手的函数(例如,users(:name_of_user)用于users.yml文件)。

我承认我可能在这里问错了问题,因为看起来这应该是微不足道的。也许我们走错了路?

0 投票
0 回答
79 浏览

javascript - 使用茶匙存根 $.get 函数

我有一个像下面这样的javascript函数

我需要使用茶匙存根 $.get 函数。我可以使用茶匙或 sinon 存根来解决任何片段吗

更新

我能够使用以下代码解决此问题

0 投票
1 回答
417 浏览

javascript - 使用 TeaSpoon 编写规范时直接使用 PhantomJS 访问页面 - Jasmine

我正在尝试使用 Teaspoon(Jasmine 版本)为我的 Rails 3.2 应用程序编写 Javascript 规范。我正在尝试编写一个类似这样的规范

但是,即使 Requirejs gem 已安装并且可以从 Chrome 控制台访问,require('webpage') 也不会运行(错误:尚未为上下文加载模块名称“system” )。

我的问题是,我可以轻松地让require('webpage')使用 Rails 运行还是应该使用其他东西?到目前为止我一直在使用 Capybara 是否更容易使用

没有任何问题。然而,我更喜欢使用纯 Javascript,因为在这种情况下它更方便。你们有什么感想?谢谢!

0 投票
1 回答
371 浏览

javascript - Jenkins 没有运行 istanbul JS 代码覆盖工具

我正在为 Ruby 项目使用 Teaspoon + Istanbul JS 代码覆盖工具,其中包含更多 JS 代码。

我已经在詹金斯盒子上使用 $ npm install -g istanbul 推荐安装了伊斯坦布尔。

如果运行 bundle exec teaspoon,它在本地运行良好,并且可以很好地生成 JS codo 覆盖率报告。

但是当我通过 jenkins shell 运行相同的命令时,它不会产生任何报告。

在詹金斯上找不到 $istanbul help throw 命令

0 投票
1 回答
361 浏览

teaspoon - 运行 Teaspoon CLI 失败,但在浏览器中成功

我很难运行 JS 测试套件 CLI。尽管测试在 Web 浏览器中通过。

这是回购

那么为什么它App在浏览器中看到变量而在 CLI 中却找不到呢?

0 投票
0 回答
91 浏览

javascript - 使用 Rails 茶匙 gem 测试 CoffeeScript 类

我有一个非常基本的类Seat,如下所示:

当我尝试seat_spec.js.coffee使用此行将其包含在文件中时:

然后运行规范,当我尝试调用时,我得到了 Seat 对象不存在的错误new Seat

我注意到 CoffeeScript 输出将 Seat 对象的声明包装在一个匿名函数中,然后将该函数包装在另一个匿名函数中,所以我明白为什么我无法访问 Seat 变量——它永远不会被分配给任何东西,但我该如何解决它以便我可以打电话new Seat

0 投票
0 回答
334 浏览

javascript - 是否可以在 PhantomJS 执行的页面内使用“fs”(文件系统)模块?

我想访问由 PhantomJS 无头浏览器呈现的页面上的文件系统。

当 JS 代码尝试与文件系统交互时,我发现一个错误

PhantomJS 是否有一些黑客/插件可以做到这一点?

PS 我正在使用基于 PhantomJS ( teaspoon ) 的无头测试运行器,我想存储一些来自文件系统测试的数据。