问题标签 [jasmine]

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 回答
3088 浏览

node.js - 用 jasmine 和 node.js 模拟文件系统

我在使用 jasmine 测试我的文件访问时遇到问题。我正在编写一个简单的观察程序,它注册一个回调require('fs').watch并发出一个包含文件名的事件,这里没什么特别的。

但是,当我尝试编写模拟fs模块的测试时,我遇到了几个问题。

这是我的 Watcher 课程(CoffeeScript 前面)

这是我的测试:

这个效果很好并且没有任何问题通过,但是这个完全失败了,我不确定我是否正确传递了参数。

最后一个给了我奇怪的“([对象]没有方法发射)”,这是错误的。

对于第二个问题,我只是将我的函数调用包装在一个闭包中并且它有效,但我真的需要了解为什么在运行我的测试时,this上下文完全搞砸了。

0 投票
1 回答
636 浏览

cruisecontrol.net - 是否可以将 Jasmine 集成到 Cruise control.net 中

作为 Cruise control.net 构建的一部分,是否可以自动运行 jasmine 测试套件?

如果是这样怎么办?

0 投票
2 回答
2210 浏览

jasmine - 如何使用 Jasmine 监视 jquery 插件中的方法

我有一个这样定义的插件

在我的测试中,我想监视findVideos并检查它是否被调用。然而,Jasmine 一直抱怨找不到方法。这是我的规格:

我的语法错了吗?

0 投票
6 回答
7615 浏览

javascript - 如何存根 require() /期望调用模块的“根”函数?

考虑以下茉莉花规格:

这工作得很好。像这样使它变绿:

现在看看这个:

这是我想用这个规范测试的代码:

在过去的几个月里,这让我多次陷入困境。一种理论上的解决方案是替换 require() 并返回使用 createSpy() 创建的间谍。但是 require() 是不可阻挡的野兽:它是每个源文件/模块中函数的不同“副本”。在规范中将其存根不会替换“testee”源文件中真正的 require() 函数。

另一种方法是在加载路径中添加一些假模块,但对我来说它看起来太复杂了。

任何的想法?

0 投票
1 回答
842 浏览

javascript - 测试一个 Node.js 函数,它的返回值可以根据执行异步操作的时刻而改变

我正在为node-redis 模块编写一个模拟并使用Jasmine对其进行测试。我为 Redis 命令的各个方面编写测试,我的目的是也能够针对原始 Redis 模块运行测试。

我的问题是:如果我对node-redis的理解正确的话,node-redis的异步函数的返回值是不同的,具体取决于命令是发送到redis还是排队等待稍后发送(例如连接完成后发送) )。但我也想测试返回的值,如果我编写如下测试:

如果我使用真正的 Redis 模块,它不会通过,因为没有足够的时间连接到数据库。

有没有办法等待异步请求被执行以继续测试代码?

(也欢迎使用不同方法解决此问题的答案。)

0 投票
1 回答
20493 浏览

unit-testing - QUnit 与茉莉花?

这两个测试框架之间的主要区别是什么?

我是测试驱动开发的新手,从一开始就开始。

0 投票
2 回答
2551 浏览

javascript - 如果包裹在自执行匿名函数中,JavaScript 是否可以“单元测试”

正如我多次看到的,一个自动执行的匿名函数用于包含整个库。如果 QUnit 无法访问匿名函数包装器内的任何内容,如何测试这些库?

0 投票
4 回答
43117 浏览

javascript - 将茉莉花测试结果输出到控制台


我在我的 firefox 插件中使用 Jasmine(JavaScript 的 BDD 测试框架)来测试我的代码的功能。

问题是 jasmine 正在将测试结果输出到 HTML 文件,我需要的是 Firebug 控制台或其他解决方案来输出结果。

0 投票
1 回答
1000 浏览

javascript - RhinoJS 是否支持 websockets API?

我一直在使用Jasmine为 Web 应用程序编写 BDD 测试。我有兴趣使用Rhino从命令行运行这些相同的测试,我发现这个博客条目非常有帮助。然而; 我的应用程序使用pusher,它提供了一个简单的 API,用于使用 Web 套接字在客户端之间传递事件。

我的测试在浏览器上运行良好,但通过 Rhino 运行它们无法连接到 pusher。Pusher 提供了一个调试流,它会显示身份验证错误或其他失败,但是当我从命令行运行我的测试时,它不会注册任何活动。

这可能是一个简单的“是”或“否”答案,但我无法找到任何相关文档,而且我是 Rhino 的新手,所以如果这是一个完整的 n00b 问题,我深表歉意。

我的问题
正如标题所说,有谁知道 Rhino 是否支持 websockets API?我在这里做错了什么,或者依赖 websockets 的脚本根本无法通过 Rhino 工作?

我的总体目标是通过一次在多个 EC2 实例上运行它们来使用我已经编写的 jasmine 测试作为压力测试;在重用我现有的 javascript 测试时,有没有一种好的(简单的?)方法可以做到这一点,或者我应该把它吸干,然后用服务器端脚本语言编写我的压力测试?我知道 selenium 网格,但希望尽可能避免产生新的浏览器来运行这些测试。

非常感谢!

0 投票
2 回答
780 浏览

ruby-on-rails-3.1 - 使用 rails 3.1 和 coffeescript 运行 jasmine

我正在尝试使用咖啡脚本和茉莉花设置一个 Rails 3.1 项目进行测试。

我按照pivotallabs的教程进行操作,但出现以下错误:

我该如何解决这个问题?马努谢谢!