javascript - 在 TypeScript 中完全或部分模擬類別和介面
在 TypeScript 中,模擬類別和介面的最佳方式是完全模擬還是部分模擬?
Jest 是一個流行的測試工具組,具有模擬支持,然而據說對於單一方法、類別和介面的模擬並不以流暢的方式支持。
答案#1
有許多專門針對 TypeScript 的模擬庫。Substitute.js 是其中非常出色的一個。在撰寫本文時,它解決了其他庫的一些不足之處,包括:
- 流暢的 API。ts-mockito 有一個流暢的 API,但它無法模擬介面。這是一個阻礙因素。
- 能夠創建部分模擬。
這也可以相當簡單地用 jest 達成,方法如下:
ClientDefaultImpl.prototype.authorize = jest.fn().mockImplementationOnce(
() => Promise.resolve('xxx'));
編輯:
ts-mockito 現在支持對類別(和介面?)進行模擬。
