问题标签 [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.
node.js - 用 jasmine 和 node.js 模拟文件系统
我在使用 jasmine 测试我的文件访问时遇到问题。我正在编写一个简单的观察程序,它注册一个回调require('fs').watch
并发出一个包含文件名的事件,这里没什么特别的。
但是,当我尝试编写模拟fs
模块的测试时,我遇到了几个问题。
这是我的 Watcher 课程(CoffeeScript 前面)
这是我的测试:
这个效果很好并且没有任何问题通过,但是这个完全失败了,我不确定我是否正确传递了参数。
最后一个给了我奇怪的“([对象]没有方法发射)”,这是错误的。
对于第二个问题,我只是将我的函数调用包装在一个闭包中并且它有效,但我真的需要了解为什么在运行我的测试时,this
上下文完全搞砸了。
cruisecontrol.net - 是否可以将 Jasmine 集成到 Cruise control.net 中
作为 Cruise control.net 构建的一部分,是否可以自动运行 jasmine 测试套件?
如果是这样怎么办?
jasmine - 如何使用 Jasmine 监视 jquery 插件中的方法
我有一个这样定义的插件
在我的测试中,我想监视findVideos
并检查它是否被调用。然而,Jasmine 一直抱怨找不到方法。这是我的规格:
我的语法错了吗?
javascript - 如何存根 require() /期望调用模块的“根”函数?
考虑以下茉莉花规格:
这工作得很好。像这样使它变绿:
现在看看这个:
这是我想用这个规范测试的代码:
在过去的几个月里,这让我多次陷入困境。一种理论上的解决方案是替换 require() 并返回使用 createSpy() 创建的间谍。但是 require() 是不可阻挡的野兽:它是每个源文件/模块中函数的不同“副本”。在规范中将其存根不会替换“testee”源文件中真正的 require() 函数。
另一种方法是在加载路径中添加一些假模块,但对我来说它看起来太复杂了。
任何的想法?
javascript - 测试一个 Node.js 函数,它的返回值可以根据执行异步操作的时刻而改变
我正在为node-redis 模块编写一个模拟并使用Jasmine对其进行测试。我为 Redis 命令的各个方面编写测试,我的目的是也能够针对原始 Redis 模块运行测试。
我的问题是:如果我对node-redis的理解正确的话,node-redis的异步函数的返回值是不同的,具体取决于命令是发送到redis还是排队等待稍后发送(例如连接完成后发送) )。但我也想测试返回的值,如果我编写如下测试:
如果我使用真正的 Redis 模块,它不会通过,因为没有足够的时间连接到数据库。
有没有办法等待异步请求被执行以继续测试代码?
(也欢迎使用不同方法解决此问题的答案。)
unit-testing - QUnit 与茉莉花?
这两个测试框架之间的主要区别是什么?
我是测试驱动开发的新手,从一开始就开始。
javascript - 如果包裹在自执行匿名函数中,JavaScript 是否可以“单元测试”
正如我多次看到的,一个自动执行的匿名函数用于包含整个库。如果 QUnit 无法访问匿名函数包装器内的任何内容,如何测试这些库?
javascript - 将茉莉花测试结果输出到控制台
我在我的 firefox 插件中使用 Jasmine(JavaScript 的 BDD 测试框架)来测试我的代码的功能。
问题是 jasmine 正在将测试结果输出到 HTML 文件,我需要的是 Firebug 控制台或其他解决方案来输出结果。
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 网格,但希望尽可能避免产生新的浏览器来运行这些测试。
非常感谢!