首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何指定mocha的测试目录?

如何指定mocha的测试目录?
EN

Stack Overflow用户
提问于 2012-05-25 19:02:10
回答 11查看 191.6K关注 0票数 246

默认情况下,Mocha会尝试在test下查找测试文件,如何指定另一个目录,例如server-test

EN

回答 11

Stack Overflow用户

发布于 2013-11-11 17:04:29

使用以下命令:

代码语言:javascript
复制
mocha server-test

或者,如果您有子目录,请使用以下命令:

代码语言:javascript
复制
mocha "server-test/**/*.js"

请注意双引号的使用。如果省略它们,您可能无法在子目录中运行测试。

票数 310
EN

Stack Overflow用户

发布于 2012-05-25 20:17:38

这里有一种方法,如果你的测试文件夹中有子文件夹,例如

代码语言:javascript
复制
/test
/test/server-test
/test/other-test

然后,在linux中,您可以使用find命令递归列出所有*.js文件,并将其传递给mocha:

代码语言:javascript
复制
mocha $(find test -name '*.js')
票数 84
EN

Stack Overflow用户

发布于 2018-06-18 13:22:26

最好的方法是在package.json中添加一个“测试”npm脚本,该脚本使用正确的参数调用mocha。这样,您的package.json也可以描述您的测试结构。它还避免了其他答案中的所有这些跨平台问题(双引号与单引号,"find“等)

要让mocha运行"test“目录中的所有js文件:

代码语言:javascript
复制
"scripts": {
    "start": "node ./bin/www", -- not required for tests, just here for context
    "test": "mocha test/**/*.js"
  },

然后,为了只运行冒烟测试,调用:

代码语言:javascript
复制
npm test

您可以通过这种方式标准化所有项目中所有测试的运行,因此当新的开发人员开始处理您的项目或其他项目时,他们知道"npm test“将运行这些测试。这在历史上有很好的先例(例如,Maven,大多数老式的"make“项目也是如此)。当所有项目都有相同的测试命令时,它肯定有助于CI。

类似地,您可能有一个更快的“冒烟”测试的子集,您可能希望mocha运行:

代码语言:javascript
复制
"scripts": {
    "test": "mocha test/**/*.js"
    "smoketest": "mocha smoketest/**/*.js"
  },

然后,为了只运行冒烟测试,调用:

代码语言:javascript
复制
npm smoketest

另一种常见的模式是将您的测试放在与它们测试的源文件相同的目录中,但将测试文件命名为*.spec.js。例如: src/foo/foo.spec.js测试src/foo/foo.js。

按照约定运行所有名为*.spec.js的测试:

代码语言:javascript
复制
  "scripts": {
    "test": "mocha **/*.spec.js"
  },

然后调用以下命令来运行所有测试:

代码语言:javascript
复制
npm test

看到这里的模式了吗?好的。:)一致性击败了mura

票数 44
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10753288

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档