【问题标题】:JS function available in all files under same folderJS 功能在同一文件夹下的所有文件中可用
【发布时间】:2018-09-13 20:58:09
【问题描述】:

我在 Mocha JS 中编写 API 测试,有两个文件:00_auth.js 和 utils.js 我想在 utils 中创建可在同一文件夹中的其他文件中使用的函数

utils.js

utils = {
   randomStringGenerator: function (){
    return Math.random().toString(36).replace(/[^a-z]+/g, '').substr(0, 7);
  }
};

并测试js

const chai = require('chai');
const mocha = require('mocha');
const config = require('../config');
const request = require('supertest')(url);
const assert = chai.assert;
const utils= require('./utils')



randomFirstName=utils.randomStringGenerator();
//randomLastName=stringGenerator();
randomMail=randomFirstName+'@'+randomLastName+'.pl';
auth_token = ''



describe('0_auth', () => {
    it('should return token for unauthorized user', function(done) {
    request
      .post('/rest/v1/auth/get-token')
      .set(config.headers) 
      .send({
          "deviceUuidSource": "DEVICE",
          "source" : "KIOSK",
          "deviceUuid" : "uniquedeviceuuid"
      })
      .end(function(err,res){
        assert.equal(res.status,200)
        assert.property(res.body, 'token')
        assert.isString(res.body.token)
        auth_token=res.body.token
        console.log('unathorized token: '+auth_token) 
        done(err);
      });       
   });
});

我从Global functions in javascript 获取了这个解决方案,但它不起作用,给我类型错误:utils.randomStringGenerator is not a function

【问题讨论】:

  • 您需要使用module.exports导出它
  • 由于你使用require,你仍然需要从模块中正确导出
  • "在同一文件夹的其他文件中可用" - 然后只需将其导入到每个文件中。不要使用全局变量!

标签: javascript function


【解决方案1】:

好的,知道了,谢谢

module.exports.randomStringGenerator = function (){
    return Math.random().toString(36).replace(/[^a-z]+/g, '').substr(0, 7);
  }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-03
    • 2017-10-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-30
    相关资源
    最近更新 更多