问题标签 [jasmine-node]

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 投票
0 回答
340 浏览

ember.js - 如何使用 jasmine-node 设置带有茉莉花的 window.Handlebars

我正在尝试使用 ember.js 运行我通常的 jasmine-node 测试,因为 ember 需要加载把手,所以我也包含了该库。

然而由于某种原因,当 ember 遇到此代码时

window.Handlebars

我不确定。

这是我在茉莉花测试中加载 jquery/handlebars/ember 的方式

我可以轻松地将它破解到 handlebars.js 文件的底部,但我想了解还有什么可以做的,以避免直接修改这个库进行测试。

(在我将 ember 加载到帮助程序中之前,紧随其后)

** 更新 **

我对 ember-data.js 也有同样的问题

似乎设置 window.Foo 是不够的 - 相反我实际上需要设置 global.Foo (关于解决这个问题的任何想法?)

0 投票
3 回答
2620 浏览

node.js - 带有茉莉花节点的 Travis-CI

我正在尝试让 travis-ci 使用 jasmine-node 测试我的 nodejs 模块。当我从命令行运行测试时,它们都通过了,但无论出于何种原因,Travis 总是将我的构建报告为失败。我的 .travis.yml 看起来像这样:

我的 package.json 看起来像这样:

我尝试将 before_script 添加到我的 travis.yml

有任何想法吗?

0 投票
1 回答
273 浏览

node.js - 茉莉花需要快递后如何存根?

当我想到我已经在这个文件的顶部包含了 express 时,我试图让下面的代码被测试。你能知道如何在 express 对象已经加载后对其进行修补吗?

0 投票
2 回答
5262 浏览

node.js - 使用 jasmine-node 在 nodejs 中测试异步 mongodb 调用

我正在使用 jasmine-node 对我的 nodejs 函数运行测试。作为 nodejs 和 mongodb 的新手,我遇到的第一件事是测试一些数据库调用,但由于 nodejs 的异步特性,我立即陷入困境。

我想做的是:

1)添加一个add函数来将新条目添加到一个 mongodb 表中

2) 从该函数接收状态字符串以验证操作的状态

以下是我的规范的代码。在beforeEach通话中,我初始化了数据库。正如您在实现中看到的那样,它只实例化一次,因为有一个条件询问它是否已经存在。

现在,对于每个数据库查询,我可以定义一个回调函数,当查询成功运行时执行。我不知道如何实现是将 mongodb 回调的结果返回规范。

这是数据库功能的当前实现:

我也对如何在 mongodb 中测试数据库调用的其他方法持开放态度。我已经阅读了很多关于这个主题的文章,但没有一篇涵盖我的特殊情况。

解决方案

最后,在 JohnnyHK 的回答的帮助下,我设法通过回调使其工作。查看以下测试用例以了解我所做的事情:

0 投票
2 回答
382 浏览

javascript - 茉莉咖啡脚本时钟无效

我没有从我的茉莉花中得到快乐。时钟。我的期望是代码将模拟时钟对象并在将滴答设置超过 setTimeout 中的指定间隔时触发 setTimeout 事件,但这似乎不起作用,我找不到我的缺陷。我的代码似乎与其他应用相同时钟控制行为的代码平行。

背景:“回调”函数在执行后将 this.action.state() 设置为 Constants.state.Ready,之前它应该是 Constants.state.WAITING。请注意,我使用的是淘汰赛 observables;该状态应该被称为 fx 以检索值。

结果: 失败:

0 投票
4 回答
4089 浏览

node.js - 自动化 Jasmine-Node 和 express.js

我使用express.js创建了一个简单的 Webapp ,并希望使用jasmine-node对其进行测试。到目前为止工作正常,但我的问题是我必须每次手动启动服务器才能运行我的测试。

您能否帮助我编写一个运行服务器的规范助手(使用另一个端口,然后是我的开发端口)仅用于测试,然后将其杀死?

0 投票
0 回答
1137 浏览

javascript - 使用 jsdom 和 jasmine-node 未定义的窗口

我有一个文件runspecs.js初始化一些全局对象,如窗口和文档

现在我在 specs 目录下的唯一文件是 socrates.spec.coffee 及其编译文件 socrates.spec.js:

现在,由于新的苏格拉底没有失败,我们知道至少 global.Socrates 正在通过。它使用 document 和 document.cookie,所以这些也没关系。为什么窗口未定义?

0 投票
4 回答
7588 浏览

node.js - 如何安装 jasmine-node(理想情况下不使用“sudo”)?

所以我是一个被宠坏的 ruby​​ist,基本上再也不用使用 sudo 安装任何东西了。我已经安装了 node.js 和 npm(授予,使用 Mac 64 位 .pkg,天哪知道我的系统上有什么),它们工作正常。

现在,执行以下操作: npm install jasmine-node -g

不起作用并说:“请尝试以 root/管理员身份再次运行此命令。” 我的意思是sudo npm install jasmine-node -g

做:(npm install jasmine-node不是全局)工作正常,但没有正确设置我的路径,没有从命令行运行等。

应该如何安装 jasmine-node? cd并在那里/usr/local/bin安装它(没有'-g'选项)?使用自制软件?或者使用sudo ...我上面列出的命令?

谢谢。

/更新:如上所述,我使用通用安装程序在我的 Lion OS X Mac(64 位)上安装了 node.js 和 npm,这是我在 /usr/local/bin 中的 node/npm 列表,以防它们是帮助:

另外,我找到了这个答案,这是另一种选择(除了我上面介绍的三个)。

请让我知道推荐哪种方法(同样,最好不使用“sudo”是我的偏好)。

/结束更新

这是使用-g(全局)返回(不使用sudo)的方法:

0 投票
3 回答
2824 浏览

node.js - 如何使用 RequireJS 运行 jasmine-node 测试

如何使用 jasmine-node 和 RequireJS 正确运行 jasmine 测试?

我已经尝试过这样的事情,但不起作用(CoffeeScript):

0 秒内完成 0 次测试、0 次断言、0 次失败

我的目标是使用 RequireJS、CoffeeScript 编写模块化类,并且类必须可以使用 jasmine-node(CI 服务器)进行测试。

请问我该怎么做?谢谢!

编辑:

我使用命令执行测试(在带有测试的目录中):

0 投票
1 回答
1321 浏览

node.js - 使用 jasmine-node 和 jquery-jasmine 测试客户端 JavaScript

我正在尝试使用jasmine-nodeand编写一些 JavaScript 单元测试jquery-jasmine,但遇到了配置问题。目前,这是我试图运行的唯一“测试”:

尝试运行测试时出现以下错误:

当我在测试中注释掉该loadFixtures行时,它工作正常。

我认为jasmine-jquery加载不正确,但我不确定该怎么做。nodejs(我对or的经验很少npm。)

如果它具有诊断价值,那么当我运行时which jasmine-node(在 bash 内)我会得到一个结果,但是当我运行时which jasmine-jquery,我不会。我认为这是因为前者是可执行的,而后者不是,但我不想做任何假设。(npm show表示两个软件包都已安装。)

我究竟做错了什么?

非常感谢您的帮助。