问题标签 [meteor-velocity]

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

node.js - 如何测试是否使用 jasmine 在 Meteor.startup 中调用了函数?

我在名为 server.js 的文件中有以下代码:

我想创建一个单元测试以确保setupMailMeteor.startup. 我怎么做?这就是我在 serverSpec.js 中的内容:

测试正在运行,但没有通过。我认为那是因为Meteor.startup被存根。有什么方法可以测试以查看回调中传递了什么?

0 投票
1 回答
57 浏览

node.js - 如何构建流星应用程序进行测试

我正在阅读在线书籍Meteor Testing并且有点担心它说你应该如何构建你的应用程序。它说要在名为“App”的全局命名空间中创建一个对象,并根据需要附加子模块,如下所示:

我的担忧是:

  1. 这会对我的应用程序的安全性产生负面影响吗?
  2. 我应该在 app 命名空间中何时何地定义函数?将它们全部添加到一个地方很快就会让人不知所措。
  3. 我应该为我想要单元测试的所有功能执行此操作吗?如果没有,我如何访问我在模板的 javascript 文件范围内定义的函数?

如果你们中的任何人可以向我指出有关流星测试的其他资源,我很想看看其他人的建议。谢谢。

0 投票
0 回答
188 浏览

node.js - (Meteor) Velocity Mocha 失败 - mocha.log 错误:杀死 ENOSYS

我无法在 mocha 中使用速度,我使用“meteor add mike:mocha”添加它并使用“meteor”启动应用程序,它显示以下内容:

I20151115-13:33:18.986(2)?[速度] mocha 正在 http://local host:29466/ 启动镜像。I20151115-13:33:18.992(2)?[速度] * Meteor Tools 正在安装 * I20151115-13:33:18.993(2)?第一次需要几分钟。I20151115-13:33:18.997(2)?[速度] 可以在以下位置看到镜像日志:tail -f D:\Github\shopaholic.meteor\local\log\mocha.log

mocha.log 包含以下内容:

node.js:762 抛出 errnoException(process._errno, 'kill'); ^ 错误:在进程的 process.kill (node.js:762:15) 处的 errnoException (node.js:573:13) 处杀死 ENOSYS。(C:\tools\tool-env\cleanup.js:33:13) 在 process.g (events.js:180:16) 在 process.emit (events.js:92:17) 在 Signal.wrap.onsignal (node.js:790:46)

我得到的就是这个,它只是显示'摩卡 - 镜像开始'

在此处输入图像描述

我使用的是 Windows 7 64 位,并且我安装了最新的节点,我还在全球范围内安装了 mocha,以防万一我不知道这是否重要,所有的流星包也是最新的,流星也是。

0 投票
1 回答
196 浏览

meteor - 你如何从 Cucumber 中的 Meteor.methods 存根返回

我刚刚开始使用 Cucumber (xolvio:cucumber@0.20.2_1) 和 Meteor 来测试我的项目,我很难从我在步骤定义中创建的 Meteor.methods 存根返回值。

注册用户.js

注册.js

日志输出一个看起来像系统状态的巨大对象。我注意到其他地方有人建议

但是当我在我的项目中这样做时,黄瓜日志Object [object Object] has no method 'then'

我也在步骤定义中尝试过Meteor.users.findOne({'emails.address': anemail@email.com});,但我收到了错误Meteor is not defined

任何帮助或指导将不胜感激。

编辑 我意识到当我记录一个巨大的对象时,这是因为 Meteor 方法_getUser没有返回任何东西。然后我尝试Meteor.users.find({}).fetch()并返回一个空数组,即使我的流星黄瓜集合有我的用户,这是我遇到的另一个问题。

0 投票
2 回答
181 浏览

selenium - 使用 Cucumber / Selenium 进行测试时登录时 Meteor 应用程序挂起

我是 Cucumber 和 Velocity 的新手,想测试注册用户的登录流程。当用户登录时,加载微调器永远挂在那里。 Meteor.loggingIn()返回false。我可以看到meteor-cucumber收藏中的用户,如果我输入任何虚假的电子邮件和密码,它会立即提醒我登录尝试失败。

这是我的一部分login-user.feature

这是我的步骤定义:

以下是相关的 Meteor 方法:

这是应用程序中的登录逻辑:

任何帮助将不胜感激。

0 投票
1 回答
44 浏览

meteor - 在 Cucumber 中存根流星方法?

我想在 Cucumber 中存根 Meteor 方法(使用 Velocity),这样当场景运行并单击按钮时,我不希望它像往常一样发送电子邮件。

我的夹具文件/tests/cucumber/fixtures/fixture.js包含一个 Meteor.method,它与实际应用程序中的 Meteor.method 同名。当然,这会阻止 Meteor 运行,因为方法名称需要是唯一的。

我确实注意到了stubMethod()这里的功能:https ://meteor-testing.readme.io/docs/velocity-helpers ,但这被标记为仅 Jasmine 功能。

如何在 Cucumber 中存根 Meteor 方法?谢谢。

0 投票
1 回答
326 浏览

meteor - Chimpjs 和 Meteor:不使用 Velocity 的测试中的方法调用

这个应用程序展示了一个用 Cucumber 测试 Meteor 的例子: https ://github.com/mhurwi/cucumber-meteor-tutorial

它适用于 Velocity。但是当使用 Velocity 启动应用程序时,我的计算机变得非常慢,而且我不希望它在开发时始终运行。所以我尝试通过使用 Chimp 作为 NPM 模块

如此处提议: https ://chimp.readme.io/docs/getting-started-with-meteor-cucumber

但是带有方法调用的测试(方法在测试/黄瓜/夹具/)不起作用:

有谁知道我应该怎么做才能使用命令行而不是 Velocity 运行 Cucumber 测试?

谢谢您的帮助。

另一个小问题:Velocity 首次启动时是否需要很多时间(我只有几个测试,它几乎冻结了我的计算机)还是每次都一样?

0 投票
1 回答
178 浏览

meteor - 使用流星速度的黄瓜貂

我在一个流星项目上安装并运行了速度。

我遇到了cucumber-mink,我正在努力让我的场景与 cucumber-mink 中定义的步骤一起工作。

我将 cucumber-mink 添加到黄瓜依赖项

但我想我在这里遗漏了一些东西。如何让我的场景使用 cucumber-mink 中定义的步骤?

0 投票
0 回答
49 浏览

meteor - 添加流星速度后的访问控制允许来源

我有一个使用谷歌地图的流星应用程序。

在我添加 jasmine 和 velocity:html-reporter 作为依赖项后,在加载谷歌地图时,以下错误不断出现:

XMLHttpRequest 无法加载https://maps.googleapis.com/maps/api/js?v=3.exp ...请求的资源上不存在“Access-Control-Allow-Origin”标头...

谁能给我一个提示发生了什么以及我该如何解决?

添加:velocity_source-map-support.js:90这是错误行

0 投票
2 回答
165 浏览

javascript - Jasmine - 在所有块串联之前运行

在使用 Jasmine 测试 Meteor 应用程序的某个功能之前,我必须为测试准备不同的东西。因此我使用 beforeAll 块。

  1. 重置数据库
  2. 在数据库中创建讲座
  3. 在数据库中创建一个问题
  4. 转到刚刚创建的讲座的页面
  5. 等待路由器完成路由

这些异步任务必须串联运行。我不能先去讲座页面,然后在数据库中创建它。可悲的是beforeAllJasmine 中的块不会自动连续运行。

这是我当前的代码:

我怎样才能在 Jasmine 中以漂亮的风格编写这段代码而不会陷入回调地狱?

整个应用的Source Code是开源的,可以在GitHub上找到

非常感谢你,马克斯