【问题标题】:Mocha's glob behaviour [duplicate]Mocha的glob行为[重复]
【发布时间】:2016-02-18 13:04:14
【问题描述】:

我的目录遵循以下结构:

src
  /test
    - file-test.js
  - file.js

我的 Mocha 脚本使用

mocha -R spec --recursive ./**/*-test.js

这导致了Error: Cannot find module 'tap'的奇幻错误。

但特别是以下两个选项有效

  1. mocha -R spec --recursive ./src/**/*-test.js
  2. file-test.js 重命名为file.test.js 并使用mocha -R spec --recursive ./**/*.test.js

但我不知道为什么这两个选项有效,而我最初的计划没有。

【问题讨论】:

  • 只是一个想法,但你能不能试着避开减号,就像mocha -R spec --recursive ./**/*\-test.js。甚至可能多次,一次用于 bash,一次用于 JS。可能依赖于正则表达式匹配
  • @martinczerwi:我尝试了以下两个:"test": "mocha -R spec --recursive ./**/*\\-test.js""test": "mocha -R spec --recursive ./**/*\\\\-test.js",它们都给我一个“无法解析路径”错误
  • @Louis:那篇文章对我的问题没有帮助。而是导致无法解析路径错误
  • @user1778856 您应该编辑您的问题以使问题可重现,同时考虑其他问题的答案。否则,我们只是猜测。

标签: node.js mocha.js glob


【解决方案1】:

也许这是一个长镜头,但如果这是一个 npm 脚本,则 glob 模式必须在双引号之间:mocha -R spec --recursive "./**/*-test.js"。我对 mocha 也有类似的错误。

【讨论】:

  • Here's the open issue 在 mochajs 中请求文档...这是正确的答案,但我应该提到,我注意到使用此方法的速度急剧下降。这是其他人的经历吗?
  • @chrisjlebron 我不记得有减速,但据我所知,我总是用这种语法使用 mocha。我的测试不到一秒钟。
【解决方案2】:

我知道这是不久前的事了,但我也遇到过类似的问题,如果您指定了匹配的文件模式,例如。 src/**/*.spec.js 然后 --recursive 显然是多余的 https://stackoverflow.com/a/43005752 我相信上面关于因为 npm 使用 "" 双引号而转义路径的评论应该是正确的。 所以不是这样的: mocha --recursive ./**/*-test.js 这对我有用: mocha \"./**/*-test.js\"

希望对您有所帮助..

【讨论】:

    猜你喜欢
    • 2014-11-14
    • 1970-01-01
    • 1970-01-01
    • 2011-08-25
    • 2013-11-11
    • 1970-01-01
    • 1970-01-01
    • 2015-11-01
    • 1970-01-01
    相关资源
    最近更新 更多