我正在使用带有Chai的Mocha在Node项目中设置一些测试。我有许多成功运行的测试,现在我想对它们进行更合理的分组。现在,所有测试都位于一个“ test”文件夹中,该文件夹位于项目的根目录。
我注意到,当我在“测试”文件夹中创建一个子文件夹并在其中进行测试时,它永远不会被Mocha运行。知道为什么会这样吗?我的理解是,Mocha可以在名为“ test”的任何文件夹以及该“ test”文件夹中的所有子目录 中运行测试。
我的package.json看起来像这样:
{
"name": "event_runner",
"version": "1.0.0",
"description": "",
"main": "server.js",
"directories": {
"lib": "lib"
},
"scripts": {
"test": "mocha || true",
"start": "node server.js"
},
"keywords": [],
"author": "",
"license": "ISC",
"dependencies": {
"agenda": "^2.1.0",
"agendash": "^1.0.0",
"express": "^4.17.1",
"mariadb": "^2.1.1",
"mongoose": "^5.7.3"
},
"devDependencies": {
"chai": "^4.2.0",
"chai-datetime": "^1.5.0",
"mocha": "^6.2.1"
}
}
答案 0 :(得分:1)
要运行测试,我只是从命令行输入mocha
。仅当所有测试都在一个根文件夹中时,此方法才有效。我确实找到了一种解决方案来运行所有测试,包括子文件夹中的测试。在我的Mac上,我必须从命令行运行它:
mocha "./test/" --recursive
奖金:要在运行测试后退出,请添加--exit
标志:
mocha "./test/" --recursive --exit