【问题标题】:Mocha tests: avoid '../../' when requiring摩卡测试:在需要时避免使用“../../”
【发布时间】:2017-12-04 11:50:13
【问题描述】:

我的文件夹结构是:

/backend/services/service.js
/test/backend/services/service.js

在每个服务测试中,我使用以下内容:

var service = require('../../../backend/services/service')

有没有更优雅的方式自动要求具有相同路径的文件,只是没有test 文件夹?也许以某种方式使用mocha.opts

【问题讨论】:

    标签: node.js mocha.js require


    【解决方案1】:

    我可以给你一个我使用的有点老套的解决方案。我有一个/test/__bootstrap.test.js 文件,我在其中创建了一个仅用于测试的全局testRequire() 函数:

    // Creation of a wrapper to avoid ../../../.. using require()
    global.testRequire = function(name) {
      return require(path.join(__dirname, '..', name));
    };
    

    然后在/test/backend/services/service.js 中我使用testRequire() 而不是require()

    var service =  = testRequire('backend/services/service');
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-02-03
      • 2019-06-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-23
      相关资源
      最近更新 更多