javascript - 当没有找到测试时,Mocha 会抛出一个错误。这能被压制吗?

标签 javascript unit-testing mocha.js

我像这样在命令行上运行 Mocha:

mocha --recursive "./src/**/*.spec.js"

这很好用。但是,如果没有找到测试文件,则会抛出此错误:

cannot resolve path (or pattern) './src/**/*.spec.js'

当不存在测试时是否有办法抑制此错误消息?

(澄清一下,这是相关的,因为它是我的 React Slingshot starter kit 的一部分,因此在他们删除我的示例测试以开始他们的项目后,将不会存在任何测试)。

最佳答案

这是一个已知问题,已多次报告,例如herehere .最相关的 GitHub 问题是这个 feature requestreplaces带有更具描述性的消息的错误。希望这个 PR 能尽快合并。

目前,您可以在入门工具包中包含一个 shell 脚本,该脚本将仅在存在测试文件时执行 mocha 测试运行程序。

test.sh(需要 Bash 4.0 或更新版本以获得 globstar 支持)

#!/bin/bash

count=`ls -1 src/**/*.spec.js -name 'Prams' -type d 2> /dev/null | wc -l`

if [ "$count" -gt "0" ]; then
    npm run test:mocha --silent
else
    echo -e "\033[0;31mWrite some tests!" && exit 1
fi

package.json

 "scripts": {
    "test": "./test.sh",
    "test:mocha": "mocha 'src/**/*.spec.js'"
  },

不幸的是,这不适用于 glob 大括号部分 - 即使目录中有一些可用的测试但 set 中的第一个目录是空的,mocha 也会抛出错误。

关于javascript - 当没有找到测试时,Mocha 会抛出一个错误。这能被压制吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35246829/

相关文章:

javascript - 跨页面加载测试 JavaScript 函数

rxjs - karma/ Jasmine 弹珠 : test failure message not properly formatted

javascript - jQuery 多个 AJAX 同步请求&动态添加 html 和事件

ios - Xcode 11 单元测试 : Devices with iOS 12. * 未列出

Python内部实体模拟

node.js - 使用递归 glob 模式运行的 Mocha 不会在 Mac 上运行所有测试

javascript - 在 React Native 中裁剪图像

javascript - Javascript 的未知错误,开发人员菜单中没有任何内容 (F12)

javascript - Extjs Rest 代理未将记录 ID 附加到 url

Python - 如何在测试期间取消模拟/重置模拟?