繁体   English   中英

Meteor导入目录测试文件不急于加载

[英]Meteor import directory test files not eagerly loading

Meteor version 1.7.0.5
Using meteortesting:mocha

我有一个非常简单的流星反应应用程序。 我在imports/startup/simple-schema.tests.js添加了一个测试文件

describe('Todos_item', function () {
  console.log('Todo');
});

我正在运行npm run test-app所以它应该登录到控制台,但该文件实际上没有运行。 但是,当我将此片段添加到我的tests/main.js Todo已登录到控制台。 所以我错过了一些东西。

我的目录树

在此输入图像描述

的package.json

{
  "name": "meteor-bootstrap",
  "private": true,
  "scripts": {
    "start": "meteor run",
    "test": "meteor test --once --driver-package meteortesting:mocha",
    "test-app": "TEST_WATCH=1 meteor test --full-app --driver-package meteortesting:mocha",
    "visualize": "meteor --production --extra-packages bundle-visualizer"
  },
  "dependencies": {
    "@babel/runtime": "7.0.0-beta.55",
    "meteor-node-stubs": "^0.4.1",
    "react": "^16.4.2",
    "react-dom": "^16.4.2",
    "react-router-dom": "^4.3.1",
    "simpl-schema": "^1.5.3"
  },
  "meteor": {
    "mainModule": {
      "client": "client/main.js",
      "server": "server/main.js"
    },
    "testModule": "tests/main.js"
  },
  "engines": {
    "node": "8.11.4"
  }
}

任何帮助将不胜感激。 提前致谢。

自1.7以来的新Meteor应用程序默认启用了急切加载(导致您的问题)

行为由package.jsonmeteor部分控制。

要恢复测试的急切加载行为,请从package.json删除testModule键值对。 它应该如下所示:

  "meteor": {
    "mainModule": {
      "client": "client/main.js",
      "server": "server/main.js"
    }
  },

如果要恢复所有文件的1.7之前的行为,只需从package.json删除整个meteor部分


如果您不想使用tests/main.js加载,则需要从tests/main.js文件中导入所有tests/main.js文件

还有一件事是@Fred回答导入测试文件时必须use require not import虽然我不确定是否是由于我的节点版本我使用的是我的节点版本v6.11.1

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM