问题标签 [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.
ruby-on-rails - Ruby Teaspoon 未知的默认套件
我在我的 Rails 项目中运行
错误输出是
谁能解释一下这个问题是什么意思?
teaspoon - 运行 Teaspoon 时出现“不是有效标识符”错误
运行茶匙时,我收到以下错误:
我还不能确定哪个文件的第 25 行是问题所在。
jquery - 通过 CLI 运行时,Emberjs 测试挂起
当我通过命令行运行 Ember 测试套件时,它会超时。我已经对此进行了跟踪,这是由于ajaxComplete
没有触发通过调用启动的 AJAX 请求visit
,但是当通过浏览器运行时,同样的请求会触发完整的事件。
该ajaxComplete
事件触发对 Ember 的调用decrementAjaxPendingRequests
,如果未调用,它将在wait
方法期间不断旋转,因为Test.pendingAjaxRequests
requests 不为 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
有谁知道这是否有任何未解决的问题,或者堆栈的哪个特定部分可能导致它?我不知道从这里去哪里。
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
文件)。
我承认我可能在这里问错了问题,因为看起来这应该是微不足道的。也许我们走错了路?
javascript - 使用茶匙存根 $.get 函数
我有一个像下面这样的javascript函数
我需要使用茶匙存根 $.get 函数。我可以使用茶匙或 sinon 存根来解决任何片段吗
更新
我能够使用以下代码解决此问题
javascript - 使用 TeaSpoon 编写规范时直接使用 PhantomJS 访问页面 - Jasmine
我正在尝试使用 Teaspoon(Jasmine 版本)为我的 Rails 3.2 应用程序编写 Javascript 规范。我正在尝试编写一个类似这样的规范
但是,即使 Requirejs gem 已安装并且可以从 Chrome 控制台访问,require('webpage') 也不会运行(错误:尚未为上下文加载模块名称“system” )。
我的问题是,我可以轻松地让require('webpage')使用 Rails 运行还是应该使用其他东西?到目前为止我一直在使用 Capybara 是否更容易使用
没有任何问题。然而,我更喜欢使用纯 Javascript,因为在这种情况下它更方便。你们有什么感想?谢谢!
javascript - Jenkins 没有运行 istanbul JS 代码覆盖工具
我正在为 Ruby 项目使用 Teaspoon + Istanbul JS 代码覆盖工具,其中包含更多 JS 代码。
我已经在詹金斯盒子上使用 $ npm install -g istanbul 推荐安装了伊斯坦布尔。
如果运行 bundle exec teaspoon,它在本地运行良好,并且可以很好地生成 JS codo 覆盖率报告。
但是当我通过 jenkins shell 运行相同的命令时,它不会产生任何报告。
在詹金斯上找不到 $istanbul help throw 命令
javascript - 使用 Rails 茶匙 gem 测试 CoffeeScript 类
我有一个非常基本的类Seat
,如下所示:
当我尝试seat_spec.js.coffee
使用此行将其包含在文件中时:
然后运行规范,当我尝试调用时,我得到了 Seat 对象不存在的错误new Seat
。
我注意到 CoffeeScript 输出将 Seat 对象的声明包装在一个匿名函数中,然后将该函数包装在另一个匿名函数中,所以我明白为什么我无法访问 Seat 变量——它永远不会被分配给任何东西,但我该如何解决它以便我可以打电话new Seat
?
javascript - 是否可以在 PhantomJS 执行的页面内使用“fs”(文件系统)模块?
我想访问由 PhantomJS 无头浏览器呈现的页面上的文件系统。
当 JS 代码尝试与文件系统交互时,我发现一个错误
PhantomJS 是否有一些黑客/插件可以做到这一点?
PS 我正在使用基于 PhantomJS ( teaspoon ) 的无头测试运行器,我想存储一些来自文件系统测试的数据。