尝试使用Jest进行单元测试Mongoose模式验证时出错

时间:2018-08-02 02:42:23

标签: node.js unit-testing mongoose jestjs

我是Jest的新手,并尝试设置一个简单的测试脚本:

opts = mqtt.NewClientOptions()
opts.AddBroker("tcp://" + c.ServerHost + ":" + c.ServerPort).SetClientID("myclientid/" + c.LocoID).SetMaxReconnectInterval(1 * time.Minute).SetAutoReconnect(true).SetMessageChannelDepth(150)
opts.SetUsername("myusername").SetPassword("mypass")
opts.SetCleanSession(false).SetStore(mqtt.NewFileStore("/home/locotrack/locotrack/storeMQTT")) 

运行Jest时,出现以下错误:

"use strict"

// Local dependencies
const userModel = require('./user.model');

// Setting controllers
describe("Users endpoint", () => {
    describe("Validating user schema", () => {
        it("Should return an error if name property is missing", () => {
            const user = new userModel();

            user.validate((error) => {
                expect(error.errors.name.kind).toBe("required");
            });
        });
    });
});

我在Google上搜索,没有找到与“全局”标识符相关的任何内容。

任何帮助将不胜感激。

谢谢

史蒂夫

1 个答案:

答案 0 :(得分:0)

好吧,在进一步研究之后,我发现问题出在我的require脚本中有一个const全局变量:

const global = require(path.join(__dirname, '..', 'config', 'config'));

如果我将“ global”名称更改为其他任何名称(例如globalTest),它将起作用。

似乎不允许使用“全局”。