【问题标题】:How to use console.log in meteor jasmine tests如何在流星茉莉花测试中使用 console.log
【发布时间】:2015-02-26 15:19:12
【问题描述】:

我正在使用

  • 流星 1.0.2.1
  • 三条:茉莉花0.9.1
  • 速度:html-reporter 0.3.2

https://doctorllama.wordpress.com/2014/09/22/bullet-proof-internationalised-meteor-applications-with-velocity-unit-testing-integration-testing-and-jasmine/ 说我应该能够使用console.log() 在控制台中查看输出。

但我什么也没有发生。

如果我将调用从测试/茉莉花移到客户端/或服务器/,则输出将在运行流星的终端上。

html-reporter 还有一个名为 Logs 的部分。查看代码,它似乎在 VelocityLogs 上有一个反应性集合。我的 google-fu 让我失望了,因为我找不到有关如何在本节中显示任何输出的信息。

jasmine测试的正确登录方式是什么?

在 Chrome 中,客户端日志通过 JavaScript 控制台可见。 但我仍然不知道服务器端日志可能在哪里。

我使用DEBUG=1 JASMINE_DEBUG=1 VELOCITY_DEBUG=1 VELOCITY_DEBUG_MIRROR=1 运行,控制台日志也没有出现。

编辑: 我创建了一个 repo 以在 https://github.com/baerrach/meteor-velocity-issue-223 处提供问题示例。

【问题讨论】:

  • 嘿!你的测试文件叫什么,它到底在哪里?
  • @TheMeteorTestManual .js 其中 是 tests/jasmine/client/integration 目录中的任何文件名。一个具体的例子是 routerSpec.js

标签: meteor jasmine meteor-velocity


【解决方案1】:

如果您正在运行服务器集成测试并且它们没有出现,那么您可能发现了一个错误!

尝试运行:

VELOCITY_DEBUG=1 meteor

日志应与主要流星日志出现在同一位置,前缀为 [velocity-mirror]

【讨论】:

  • 它们是测试/jasmine/client/integration/*.js 测试。这些根本不在服务器上运行吗?如果是这种情况,我该如何设置运行它们所需的固定装置?
  • 您可以在服务器上创建一个 Meteor 方法,您可以从客户端测试中调用该方法。这也称为夹具。您放在 /tests 目录下的任何带有 -fixture.* 后缀的文件都可以访问,因此您可以在其中创建流星方法。
  • [velocity-mirror] _user-fixtures: isServer[velocity-mirror] _user-fixtures: startup function 被记录到运行流星的 shell 中,当文件在 server/_users-fixtures.js 中时,我将尝试将此文件移动到 test/
  • 当移动到 tests/jasmine/client/integration/_users-fixtures.js 时,日志不再记录 - 现在测试开始失败。
  • 当移动到 tests/jasmine/server/unit/ 文件运行但在本地应用程序中不是镜像
猜你喜欢
  • 2022-12-16
  • 2015-02-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-09-26
  • 1970-01-01
相关资源
最近更新 更多