【发布时间】:2021-08-08 00:36:21
【问题描述】:
我正在使用带有 typeorm 的 typescript,并且我有一个这样的存储库:
import { EntityRepository, getRepository, createQueryBuilder } from 'typeorm';
@EntityRepository()
export default class Repo {
async getSomething(): Promise<Result> {
const schemaQuery = getRepository(SomeModel)
.createQueryBuilder('sm')
.select(...)
.where(...);
.....
我的测试文件是这样的
import * as typeorm from 'typeorm';
import Repo from '../../../../src/repositories/Repo';
describe(
'test',
() => {
let repo: Repo;
beforeEach(() => {
repo = new Repo();
});
test('getSomething works', async () => {
jest.spyOn(typeorm, 'getRepository').mockImplementation(() => ({ // typescript wants me to implement all properties of getRepository which i dont want
createQueryBuilder: jest.fn(),
}));
...
});
},
);
我如何直接从仍然符合 typescript 类型检查的 typeorm 模拟 getRepository?
【问题讨论】:
-
我有类似的问题要测试自定义存储库,stackoverflow.com/questions/67580233/…
标签: javascript typescript testing jestjs typeorm