Javascript Meteor导入目录测试文件不急于加载
我有一个非常简单的meteor react应用程序。我在Javascript Meteor导入目录测试文件不急于加载,javascript,reactjs,mongodb,testing,meteor,Javascript,Reactjs,Mongodb,Testing,Meteor,我有一个非常简单的meteor react应用程序。我在imports/startup/simple schema.tests.js Meteor version 1.7.0.5 Using meteortesting:mocha 我正在运行npm运行测试应用程序,所以它应该登录到控制台,但该文件实际上没有运行。但当我将这个代码段添加到我的tests/main.jsTodo时,它会被登录到控制台中。所以我错过了什么 我的目录树 package.json describe('Todos_ite
imports/startup/simple schema.tests.js
Meteor version 1.7.0.5
Using meteortesting:mocha
我正在运行npm运行测试应用程序,所以它应该登录到控制台,但该文件实际上没有运行。但当我将这个代码段添加到我的tests/main.js
Todo
时,它会被登录到控制台中。所以我错过了什么
我的目录树
package.json
describe('Todos_item', function () {
console.log('Todo');
});
任何帮助都将不胜感激。提前感谢。自1.7版以来的新Meteor应用程序在默认情况下已关闭“急切加载”(这会导致您的问题) 行为由
package.json
中的meteor
部分控制
要恢复测试的急切加载行为,请从package.json
中删除testModule
键值对。应该是这样的:
{
"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之前的行为,只需从package.json
如果您不想使用即时加载,您需要从
tests/main.js
文件导入所有测试文件当使用@Fred answer导入测试文件必须使用require not import
时,还需要添加一件事,尽管我不确定这是否是由于我的节点版本造成的,我使用的是我的节点版本v6.11.1
是--完整应用程序
吗导致问题的原因?是的,我今天很早就知道了,但谢谢你的回答。我在meteor 1.10上,我希望meteor加载所有代码(导入目录)我该怎么办?My package.json没有meteor属性ho@Gobliins,导入目录从来都不急切。如果要自动加载,请将代码移到导入的外部。见:好的观点。这取决于你的试跑者。有些人会预先解析代码来处理ES模块,大多数人不会。您可以要求@std/esm
启用导入语法,或者将测试放入.mjs
文件中,以便节点将其解释为ES模块。尽管这需要比6更新的节点版本
"meteor": {
"mainModule": {
"client": "client/main.js",
"server": "server/main.js"
}
},