[英]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.json
的meteor
部分控制。
要恢复测试的急切加载行为,请从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.