Javascript 在jest中模拟节点模块中的特定类
我只想模拟Javascript 在jest中模拟节点模块中的特定类,javascript,typescript,testing,jestjs,Javascript,Typescript,Testing,Jestjs,我只想模拟net节点模块()中的Socket类 我有一门课看起来像这样 import { Socket } from 'net'; class Foo { protected socket: Socket; constructor() { this.socket = new Socket(); } connect() { const connPromise = new Promise<undefined>(reso
net
节点模块()中的Socket
类
我有一门课看起来像这样
import { Socket } from 'net';
class Foo {
protected socket: Socket;
constructor() {
this.socket = new Socket();
}
connect() {
const connPromise = new Promise<undefined>(resolve => {
this.socket.connect(80, '192.168.1.1', () => {
// Do some stuff with local state
resolve();
});
});
return connPromise;
}
}
如何控制this.socket.connect
方法实现?尝试为模拟函数提供一个:
jest.mock('net', () => ({
Socket: function() {
return {
connect() {
return 'Hello World'
}
}
}
}))
(编辑是因为我忘了您不能在jest工厂中引用外部作用域中的函数:D)尝试为模拟函数提供一个:
jest.mock('net', () => ({
Socket: function() {
return {
connect() {
return 'Hello World'
}
}
}
}))
(编辑是因为我忘了不能在jest工厂中引用外部作用域中的函数:D)