У меня есть следующий класс:
export class ServiceWrapper<T extends Service> {
constructor(service: { new (...args: any[]): T }) {
new service('property');
}
}
Который можно назвать так:
const exampleService: ServiceWrapper<ExampleService> = new ServiceWrapper(ExampleService);
Используя Sinon, можно ли посмеяться над классом, который передается в параметр service
, чтобы я мог получить доступ к параметрам, переданным конструктору service
? Функциональность, которую я желаю, может выглядеть следующим образом:
let MockClass = Mock<Serivce>;
let mockedService = new ServiceWrapper(MockClass);
let mockInstance = MockClass.getInstance(0); // This being the object that was instantiated