Я пытаюсь протестировать объект с помощью proxyquire.Объект представляет собой простой класс JavaScript / TypeScript с некоторыми зависимостями.Я использую proxyquire с sinon для переопределения этих зависимостей, и это работает нормально.но я не могу создать новый экземпляр класса для запуска его методов в тестовой программе.
Я пытался создать статический метод в классе, который возвращает новый экземпляр, но ошибка «Proxy.create не является функцией»
// a stub of one of the dependents in
const poolRepositoryStub = {
insert: _.constant({}),
'@noCallThru': true,
};
const Proxy = proxyquire('../../dist/src/components/proxy.js', {
'../repository/pool-repository': poolRepositoryStub,
'@noCallThru': true,
});
describe('Test ReportCheckComponent', () => {
before(() => {
// this one failed say Proxy is not a constructor
new Proxy()
// and this one also failed on Proxy.create is not a function
Proxy.create();
});
it('report-check.spec.ts: test run method using sinon stub', () => {
sinon
.stub(poolRepositoryStub, 'insert')
.returns(Promise.resolve(null))
// ... the rest of the test code
});
});