当前位置: 首页 > 面试题库 >

摩卡如何才能在我的`src`文件夹中递归搜索特定的文件名模式?

蒋寒
2023-03-14
问题内容

在我的npm包中,我想模拟流星遵循的模式:源文件(名为client.jsclient.tests.jssrc/文件夹中有一个测试文件(名为)。使用npm test命令运行测试。

我正在将用法文档放在“ t”后面。我不想find在我的包测试命令中使用。

  1. 我知道mocha可以递归执行测试:

摩卡-递归

  1. 我知道mocha可以使用--recursive标志在特定的子文件夹中执行测试:

mocha src-递归

  1. 我也了解我可以通过以下方式指定一个glob来过滤文件*.tests.js

摩卡* .tests.js

但是,我要全部三个。我希望mocha仅测试tests.js以src文件夹结尾的文件,并递归检查子目录。

mocha --recursive *.tests.js

// See the files?
$ > ll ./src/app/
total 168
-rw-r--r--  ... client.js
-rw-r--r--  ... client.tests.js

// Option A
$ > mocha --recursive *.tests.js
Warning: Could not find any test files matching pattern: *.tests.js
No test files found

// Option B
$ > mocha *.tests.js --recursive
Warning: Could not find any test files matching pattern: *.tests.js
No test files found.

// Option C
$ > mocha --recursive src/app/*.tests.js
3 passing (130ms)
3 failing

所以…

  1. 为什么摩卡咖啡不提取*.tests.js子文件夹中的文件?
  2. 如果指定文件的完整路径,为什么它能正常工作?
  3. 我如何使其按需工作?

问题答案:

--recursive标志用于对目录进行操作。如果要传递与目录匹配的glob,则将递归检查这些目录,但是,如果像您所做的那样,通过与文件匹配的glob,则--recursive无效。我建议不要--recursive与glob一起使用,因为glob已经具有在子目录中递归查找的功能。您可以这样做:

mocha 'src/app/**/*.tests.js'

这将与中*.tests.js递归匹配的所有文件匹配src/app。注意我如何在模式周围使用单引号。这是为了引用该模式,以便将其按原样传递给Mocha的全局代码。否则,您的外壳可能会解释它。根据选项的不同,某些外壳会转换***您不会获得所需结果的外壳。



 类似资料:
  • 我正在编写一个脚本,以递归方式遍历主文件夹中的子文件夹,并根据特定的文件类型生成一个列表。我对剧本有意见。目前设置如下: 问题是变量正在拉入子文件夹列表,而不是项目文件所在的文件夹。我之前曾想过为子文件夹运行for循环,并加入路径的第一部分,但我想我会再次检查,看看在此之前是否有人有任何建议。

  • 问题内容: 我正在尝试使用递归搜索返回指定目录中的文件。我成功实现了这一点,但是我想添加几行代码,这些代码使我可以指定要返回的某些扩展名。 例如,仅返回目录中的.jpg文件。 这是我的代码, 请让我知道我可以在上述代码中添加些什么来实现此目标,谢谢 问题答案:

  • 问题内容: 我需要在我的Linux系统(专用的虚拟主机)上找到所有文件。我尝试了以下方法:,但是不起作用。有什么建议吗? 问题答案: 您可以使用以下find命令执行此操作: 进行不区分大小写的搜索。

  • 问题内容: 我正在学习Java,但我不太确定搜索文件的方式。我想构建一个返回文件名的函数(文件名应以开头和结尾) 例如,在文件夹中,我们包含Java源文件和一些文件。例如,文件: 1.txt 2.txt 4.txt start.txt star.txt onstart.txt starton.txt myjava.java 然后,我想获得,& 我一直在寻找,但是找不到找到文件的好方法。有谁知道查找

  • 问题内容: 我正在尝试从软件包中的src /文件夹中获取图像,但是没有成功。 有人建议吗? 问题答案: 是否将其复制到构建代码的任何地方?作为一个在目录没有帮助,如果在执行时类是在目录(或jar文件)。 另请注意,如果您的课程在一个包中,则默认情况下它将相对于该包起作用。因此,如果您的包是foo.bar,它将在寻找。如果要使其绝对,则可以使用,也可以在字符串的开头放置前导: 要么 当然,如果目录