需要从同一文件导出同一目录下的两个模块不起作用

时间:2018-10-24 05:32:58

标签: javascript node.js mocha

我在同一目录下有两个js文件: main/file1.jsmain/file2.js。然后在测试文件夹test/files.js

下调用它

如果我的file1.js中有此文件:

function file1(){
    let result = "a";
    return result;
}
module.exports = file1

然后我的file2.js:

let v = "c" //this is the error that make file2 undefined.  scope issue.
function file2(){
    let result = "b";
    return v;
}
module.exports = file2

然后在我的测试文件中,我需要两个文件。 file1的steps函数工作正常,但file2的steps2未定义。有什么想法吗?

const assert = require('assert'); 
const steps = require('../main/steps');
const steps2 = require('../main/steps2');

describe('steps', function(){
    it('make steps', function(){
        assert.equal(file1(), 'a');
    });
    it('make steps2', function(){
        assert.equal(file2(), 'b');
    });
})

1 个答案:

答案 0 :(得分:3)

当您需要文件名时,您需要输入函数名。您的需求应如下所示:

const steps = require('../main/file1');
const steps2 = require('../main/file2');