gpt4 book ai didi

node.js - Mocha 单元测试找不到功能

转载 作者:行者123 更新时间:2023-11-28 21:27:31 25 4
gpt4 key购买 nike

所以我正在尝试对一个函数进行单元测试,我在这里写的是函数:

function compareServices(service1, service2) {
if (service1.name != service2.name) {
return false
}
if (service1.port != service2.port) {
return false
}
if (service1.target != service2.target) {
return false
}
if (service1.address != service2.address) {
return false
}

return true
}

它位于我的 main.js 文件中。现在,当我尝试运行测试时,我收到一条错误消息:

 Main #compareServices() should compare if two services match:
TypeError: main.compareServices is not a function
at Context.<anonymous> (test/stelaSpec.js:21:25

这是我的测试文件:

var expect = require("chai").expect;
var main = require("../src/main.js");

describe("Main", function(){
describe('#compareServices()', function() {
it('should compare if two services match', function() {
var svc1 = {
"name": "test.fg.service",
"port": 8001,
"target": "mac-book",
"address": "192.2.2.2"
}

var svc2 = {
"name": "test.fg.service",
"port": 8001,
"target": "mac-book",
"address": "192.2.2.2"
}

var result = main.compareServices(svc1, svc2);

expect(result).equal(true)
});
});
});

为什么说它不是一个函数,而它是一个函数?

最佳答案

确保在 main.js 文件的末尾包含以下内容:

module.exports = {
compareServices: compareServices
};

这将使需要它的其他 javascript 文件可以访问该函数。

关于node.js - Mocha 单元测试找不到功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35777882/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com