【问题标题】:mocha "describe" is not defined摩卡“描述”未定义
【发布时间】:2017-08-07 09:10:58
【问题描述】:

我阅读了所有相关的mocha "describe" is not defined 帖子,但似乎没有一个适合我的情况。

我使用meteor并通过npm安装了"mocha": "^3.5.0"

我在我的流星根目录中创建了一个/test文件夹。 和样本测试mochatest.js

var assert = require("assert"); // node.js core module

describe('Array', function(){
  describe('#indexOf()', function(){
    it('should return -1 when the value is not present', function(){
      assert.equal(-1, [1,2,3].indexOf(4)); // 4 is not present in this array so indexOf returns -1
    })
  })
});

当我运行 mocha 时,测试通过了。

但是当我启动我的普通服务器时,我得到:ReferenceError: describe is not defined

.meteor/packages/meteor-tool/.1.3.5_1.1wj76e8++os.linux.x86_64+web.browser+web.cordova/mt-os.linux.x86_64/dev_bundle/server-lib/node_modules/fibers/future.js:280 throw(ex); ^ ReferenceError: describe is not defined at meteorInstall.test.mochatest.js (test/mochatest.js:3:1) at fileEvaluate (packages/modules-runtime/.npm/package/node_modules/install/install.js:153:1) at require (packages/modules-runtime/.npm/package/node_modules/install/install.js:82:1) at project-i18n.js:6:1 at .meteor/local/build/programs/server/boot.js:297:10 at Array.forEach (native) at Function._.each._.forEach (.meteor/packages/meteor-tool/.1.3.5_1.1wj76e8++os.linux.x86_64+web.browser+web.cordova/mt-os.linux.x86_64/dev_bundle/server-lib/node_modules/underscore/underscore.js:79:11) at .meteor/local/build/programs/server/boot.js:133:5

我有一种感觉,meteor 想在启动时运行测试,但找不到 mocha 的东西。

那该怎么办?

【问题讨论】:

  • 你是如何运行测试用例的?
  • 我只需在应用程序根目录中输入 mocha 即可运行它们
  • 我刚开始设置测试套件,所以我只有这个测试 atm。
  • describe 由 mocha 框架在运行时提供,所以它应该是 mocha tests/**/*

标签: javascript node.js meteor mocha.js


【解决方案1】:

您需要将/test 文件夹重命名为/tests

来自官方Meteor Testing Guide

流星构建工具和流星测试命令忽略任何文件 位于任何tests/ 目录中。这使您可以在其中进行测试 您可以使用 Meteor 之外的测试运行程序运行的目录 内置测试工具,但仍然没有将这些文件加载​​到您的 申请。

您还可以考虑使用以下扩展名重命名测试文件:

*.test[s].*, or *.spec[s].* -- 所以你的文件可以命名为mocha.test.js

Meteor 构建工具也会忽略此类文件。

【讨论】:

    【解决方案2】:

    看起来测试文件在服务器运行时以某种方式被调用。它不应包含在服务器代码的任何位置。 如果您无法弄清楚发生了什么,您可以尝试调试服务器并在“describe”行放置一个断点 - 尝试查看您是如何到达那里的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-12-22
      • 2018-02-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-02
      相关资源
      最近更新 更多