问题
我正在尝试扩展已经创建的Class实例。
我正在使用node-http-mocks创建request
和response
模拟以进行快速App单元测试。我使用此库创建请求模拟的方式是:
const httpMocks = require('node-mocks-http')
let req = httpMocks.createRequest(options)
console.log(req)
打印:
EventEmitter {
domain: null,
_events: {},
_eventsCount: 0,
_maxListeners: undefined,
method: 'GET',
url: '',
originalUrl: '',
baseUrl: '',
path: '',
params: {},
cookies: {},
headers: {},
body: {},
query: {},
files: {},
header: [Function],
get: [Function],
由于我需要重复使用相同的函数,因此我想创建一个Request
类来使用,而该类基本上应包含先前req
的所有方法和属性。
所以我可以做类似的事情:
req = new Request(options)
req = req.mockAuthorizationToken(token)
想法
不确定如何实现此目标,甚至可能实现。
我应该从EventEmitter扩展吗?并使用以下命令将其传递到node-http-mocks
:
const EventEmitter = require('./mockEventEmitter')
const httpMocks = require('node-mocks-http')
let req= httpMocks.createRequest({
eventEmitter: new ExtendedEventEmitter()
});
谢谢!