首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >运行mocha不包括路径

运行mocha不包括路径
EN

Stack Overflow用户
提问于 2015-12-15 23:31:38
回答 7查看 31.6K关注 0票数 28

我有这个(在gulpfile.js中):

代码语言:javascript
复制
var gulp = require("gulp");
var mocha = require("gulp-mocha");
gulp.task("test", function() {
    gulp
        .src(["./**/*_test.js", "!./node_modules/**/*.js"]);
});

而且起作用了。

我希望从mocha命令中复制相同的行为,不包括"node_modules“文件夹,运行npm测试(在package.json中):

代码语言:javascript
复制
"scripts": {
    "test": "mocha **\\*_test.js !./node_modules/**/*.js*",
}

但不起作用。

我在用Windows。

有什么建议吗?

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2016-01-11 23:33:21

正如@thebearingedge的评论中所建议的那样,最后,将所有源文件(以及相关的测试文件)放入一个新的"src“dir中。

通过这种方式,我可以使用默认排除"node_modules“文件夹的路径定义测试的根。

代码语言:javascript
复制
.
├── src  
    ├── fileA.js  
    ├── fileA_test.js  
    ├── fileB.js  
    ├── fileB_test.js  
├── node_modules
    ├── ...

我必须更新package.json、gulpfile.js和一些作为实用工具使用的批处理文件中的路径。

gulpfile.js的变化

代码语言:javascript
复制
.src(["./src/**/*_test.js"]);

在package.json中

代码语言:javascript
复制
"test": "mocha src\\**\\*_test.js",

简单的改变就行了。

  • 我可以自由选择任何我喜欢的命名规则。
  • 每个测试文件保持在相对JS文件附近。
票数 3
EN

Stack Overflow用户

发布于 2017-09-05 15:44:42

我能够在mocha的参数中使用全局模式来解决这个问题。和你一样,我不想把所有的测试都放在一个tests文件夹下。我希望它们与它们测试的类位于同一个目录中。我的文件结构如下:

代码语言:javascript
复制
project
|- lib
   |- class1.js
   |- class1.test.js
|- node_modules
   |- lots of stuff...

project文件夹中运行此操作对我有效:

代码语言:javascript
复制
mocha './{,!(node_modules)/**}/*.test.js'

与树中的任何*.test.js文件相匹配,那么它的路径就不会根植于./node_modules/

这是一个用于测试glob模式的在线工具,我发现它很有用。

票数 31
EN

Stack Overflow用户

发布于 2018-12-19 01:58:39

您可以通过传递opts来排除mocha中的文件。

代码语言:javascript
复制
mocha -h|grep -i exclude
    --exclude <file>                        a file or glob pattern to ignore (default: )

mocha --exclude **/*-.jest.js

此外,您还可以创建一个test/mocha.opts文件并在那里添加它。

代码语言:javascript
复制
# test/mocha.opts
--exclude **/*-test.jest.js
--require ./test/setup.js

如果您想要排除特定的文件类型,您可以这样做

代码语言:javascript
复制
// test/setup.js
require.extensions['.graphql'] = function() {
  return null
}

当使用模块加载程序(如webpack )处理扩展时,这是非常有用的,因为mocha不理解这些扩展。

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

https://stackoverflow.com/questions/34301448

复制
相关文章

相似问题

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