全局模式包括所有的js排除特定的结局
我想用摩卡水珠。 可悲的摩卡不支持排除,也不会传递glob选项,所以我必须在不使用glob ignore选项的情况下以单一模式解决这个问题。 https://github.com/mochajs/mocha/issues/1577另一个解决scheme是使用mocha.opts,但这不是业力兼容,我不知道为什么。 我可以定义一个karma兼容的opts文件和一个兼容节点的opts文件,但是这个会在问题解决后立即中断,所以我正在寻找另一个解决scheme。 https://github.com/karma-runner/karma-mocha/issues/88
我需要匹配test/**/*.spec.js
并从结果中排除test/**/*.karma.spec.js
。 这是可能的一个单一的glob模式?
你总是可以使用mocha
和一起 find
。 例如,以下命令将返回test/**/*.spec.js
并排除test/**/*.karma.spec.js
:
find test -name '*.spec.js' ! -path '*.karma.spec.js'
将其与mocha
结合起来,以达到你想要的:
mocha $(find test -name '*.spec.js' ! -path '*.karma.spec.js')
我们在这里讨论的是用逻辑运算符表示的AND("*.spec.js", NOT("*.karma.spec.js"))
。 我检查了glob文档,它不支持AND
逻辑运算符。
对我们来说,幸运的是,我们可以将这个运算符转换为OR
, NOT(OR(NOT("*.spec.js"), "*.karma.spec.js"))
: NOT(OR(NOT("*.spec.js"), "*.karma.spec.js"))
。 我试过了test/**/!((!(*.spec.js)|*.karma.spec.js))
,但是不起作用。 它试图需要一个模块的test/features
path,这是一个目录的path,而不是一个JS文件,所以难怪它不pipe理它。 我不知道是什么样的错误,但显然不工作。
另一个可能的解决scheme是忘记这个AND
运算符,并且只使用NOT("*.karma").spec.js
。 我试了一下test/**/!(*.karma).spec.js
,这个工作正常。
- 期望断言types错误 – >期望(…).toExist不是一个函数
- 节点(Gulp)process.stdout.write到文件
- 表示中间件testing摩卡柴
- Mocha如何知道在testing套件中首先加载哪个文件
- 从生成的subprocess运行脚本时,如何在控制台中保留颜色?
- 如果在抛出任何错误的时候如何在promise中做出断言,不会冒出来呢?
- 使用Appium,Seleniumnetworking驱动程序,Node js,Mocha等select不在原生android应用程序的屏幕上的UI元素
- 我如何testing我的快速应用程序与摩卡?
- 如何检测是否在node.js中运行摩卡testing?