gpt4 book ai didi

javascript - 在 Jest (Node.js) 中测试单例的静态方法

转载 作者:行者123 更新时间:2023-12-01 01:09:59 25 4
gpt4 key购买 nike

// tester.js
class Tester {
static loggit(text) {
return text;
}
}

module.exports = new Tester();

使用 Jest 在 Node.js 中测试此单例时

// tester.spec.js
const Tester = require('./tester.js');

describe('Tester testing', () => {
it('logs it', () => {
expect(Tester.loggit('test')).toEqual('test');
});
});

运行测试时,出现错误“遇到声明异常。TypeError: Tester.loggit 不是函数”

我尝试使用 jest.requireActual 来解决它,但它没有修复错误。

我不想导出类本身,因为它将是我的应用程序中的单例。

任何输入都会有帮助。

最佳答案

您想要导出类本身,而不是类的实例:

module.exports = Tester;

如果只有静态方法,您可以导出一个对象:

 module.exports = {
loggit(it) { return it; },
};

如果您确实想同时拥有单例属性和静态属性(这有什么用?!),那么您可以使用构造函数属性从实例获取该类:

 (new Tester).constructor.loggit("test") 

关于javascript - 在 Jest (Node.js) 中测试单例的静态方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55250050/

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