【问题标题】:Test recursively using mocha使用 mocha 递归测试
【发布时间】:2021-07-17 21:38:25
【问题描述】:

我对 mocha 有疑问,它不理解我的测试层次结构! 我希望我的测试靠近他们的代码库,所以我的项目中有这样的层次结构:

Level1
    |_ level11
        |_ level11.js
        |_ level11.test.js
                            |_ level11111
                                |_ level11111.js
                                |_ level11111.test.js
    |_ level12
        |_ level12.js
        |_ level12.test.js
        |_ level121
            |_ level121.js
            |_ level121.test.js
Level2
    |_ level2.js
    |_ level2.test.js

我什么都试过了!使用**/**.test.js—recursive 标志,他们都没有做它应该做的!

【问题讨论】:

    标签: node.js unit-testing testing mocha.js


    【解决方案1】:

    Linux 来拯救!我在一个完全没有结构的 HUGE 项目中遇到了同样的问题!一些开发人员将测试放在tests 文件夹中,而另一些则放在嵌套层中……(一些测试使用 mocha,一些使用 jest!在同一个项目中!:D)

    你可以使用:

    mocha $(find . -name '*.spec.js')
    

    在您的package.json 所以:

      "scripts": {
        "test": "mocha $(find . -name '*.spec.js')"
      },
    

    【讨论】:

      【解决方案2】:

      您需要将recursiveextension 标志一起使用:

      mocha --extension .test.js --recursive
      

      请阅读--extension--recursive 的文档了解更多信息。

      【讨论】:

      • mocha --extension .spec.js --recursive 。 [你忘了最后的点:)]
      【解决方案3】:

      配置您的.mocharc.js 文件以允许运行递归测试,如下所示:

      module.exports = {
          "recursive": true,
          "exit": true,
          "timeout": "10000",
          "ignore": ["test/Helpers/*.js", "test/Samples/*.js", "test/Helpers/**/"],
          "reporter": "mochawesome",
          "reporterOptions": {
              "reportDir": "mocha"
          }
      };
      
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-08-29
        • 1970-01-01
        • 2017-04-08
        • 1970-01-01
        相关资源
        最近更新 更多