Cod*_*imp 5 meteor meteor-velocity
在我收集有关如何使用Velocity的知识的过程中,我遇到了一个片段,其中提到了一个shell变量来设置用于在PhantomJS中运行Karma的浏览器Velocity,因为我每次运行我的应用程序时都会创建一个Chrome窗口弹出窗口DEV-模式.当时我耸耸肩,但在我的两个应用程序中实施了一些测试之后,我可以说在弹出窗口中运行测试是一件令人讨厌的痛苦.
是否有人知道如何运行测试以使其在PhantomJS中运行而不是在Chrome弹出窗口中运行?我认为该变量类似于VELOCITY_BROWSER = PhantomJS,但这似乎不起作用.此外,有没有办法设置Meteor,以便它只是将其设置为默认值,所以我不必每次都创建变量,比如在配置或其他东西?
我找到了那些找到这个并且也想知道如何防止Karma弹出窗口的答案.
我正在使用sanjo:jasmine测试套件,它使用Karma进行客户端集成测试.您可以通过在运行meteor时将其添加到您的环境中来将默认浏览器设置为PhantomJS:
JASMINE_BROWSER=PhantomJS
Run Code Online (Sandbox Code Playgroud)
或者,如果您只想完全关闭客户端集成测试,只需添加以下内容:
JASMINE_CLIENT_UNIT=0
Run Code Online (Sandbox Code Playgroud)
因此,例如,您可以像运行您的应用程序一样JASMINE_BROWSER=PhantomJS meteor,并且您将不再获得弹出窗口.我所做的是在我的app根文件夹中创建了一个meteor.sh,我用它来启动环境变量,如下所示:
#!/bin/sh
JASMINE_BROWSER=PhantomJS meteor
Run Code Online (Sandbox Code Playgroud)
这只是为了方便,所以我不必记住变量来做到这一点.这适用于任何基于*nix的操作系统.你也可以根据需要制作一个别名.它看起来像:
alias meteor=JASMINE_BROWSER=PhantomJS meteor
Run Code Online (Sandbox Code Playgroud)
我的语法略有偏差,但我认为这应该有效.
要使用PhantomJS,您需要安装它,所以在终端中运行它:
npm install -g phantomjs
Run Code Online (Sandbox Code Playgroud)
或者,如果您在Mac上运行(您将需要安装brew):
brew install phantomjs
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助将来的某个人.