meteor - 使用 Velocity 测试启动 Meteor,无需 Chrome 弹出窗口

标签 meteor meteor-velocity

在我寻求收集有关如何使用 Velocity 的知识时,我遇到了一个片段,其中提到了一个 shell 变量来设置用于在 PhantomJS 中运行 Karma 的浏览器 Velocity,而不是每次运行时创建一个 Chrome 窗口弹出窗口我的应用程序处于开发模式。当时我对此不屑一顾,但在我的两个应用程序中实现了一些测试之后,我可以说在弹出窗口中运行测试是一种烦人的痛苦。

有人知道如何让测试运行在 PhantomJS 中而不是在 Chrome 弹出窗口中吗?我认为该变量类似于 VELOCITY_BROWSER=PhantomJS,但这似乎不起作用。另外,有没有一种方法可以设置 Meteor,以便它只需将其设置为默认值,这样我就不必每次都创建变量,例如在配置或其他内容中?

最佳答案

我为那些发现此问题的人找到了答案,并且还想知道如何防止 Karma 弹出窗口。

我正在使用 sanjo:jasmine 测试套件,它使用 Karma 进行客户端集成测试。您只需在运行meteor时将其添加到您的环境中即可将默认浏览器设置为PhantomJS:

JASMINE_BROWSER=PhantomJS

或者,如果您只想完全关闭客户端集成测试,只需添加以下内容:

JASMINE_CLIENT_UNIT=0

因此,例如,您可以像 JASMINE_BROWSER=PhantomJSmeteor 一样运行您的应用程序,并且您将不会再看到弹出窗口。我所做的是在我的应用程序根文件夹中创建了一个meteor.sh,我用它来使用环境变量启动,如下所示:

#!/bin/sh
JASMINE_BROWSER=PhantomJS meteor

这只是为了方便,所以我不必记住变量来执行此操作。这应该适用于任何基于 *nix 的操作系统。如果需要,您也可以创建别名。它看起来像:

alias meteor=JASMINE_BROWSER=PhantomJS meteor

我的语法可能略有偏差,但我认为应该可行。

要使用 PhantomJS,您需要安装它,因此在终端中运行:

npm install -g phantomjs

或者,如果您在 Mac 上运行(您需要安装 brew):

brew install phantomjs

希望这对将来的人有帮助。

关于meteor - 使用 Velocity 测试启动 Meteor,无需 Chrome 弹出窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28216418/

相关文章:

javascript - 如何调用 Meteor 模板事件?

node.js - 在服务器上异步运行方法

javascript - 在 Meteor 服务器端代码中声明配置的位置

testing - 如何在 Meteor/Velocity 中生成测试覆盖率报告?

javascript - 使用 Velocity/Jasmine 进行 Meteor 客户端集成异步测试;如何获得返回值?

jenkins - 如何将 meteor 的速度测试与 Jenkins 集成?

mongodb - Meteor new Date() 对 mongodb 3.0.1 和 autoform/simple 模式无效

Meteor 崩溃,发现铁路由器包出现错误 : No version 0. 9.1

node.js - meteor 文件系统