【发布时间】:2022-01-07 00:06:55
【问题描述】:
我正在尝试为我的控制器编写一个测试用例,但我只是一遍又一遍地遇到相同的错误。 - 已经为该服务编写了我的测试用例,并且工作正常。
下面我将提供我的代码:ticket.controller.spec.ts
import { TicketController } from './ticket.controller';
import { TicketService } from '../services/ticket.service';
import { CreateTicketDto } from 'src/dto/create-ticket.dto';
describe('TicketService', () => {
let ticketsControler = TicketController;
let spyService = TicketService;
beforeAll(async () => {
const ApiServiceProvider = {
provide: TicketService,
useFactory: () => ({
createTicket: jest.fn(() => []),
findAll: jest.fn(() => []),
findByCreator: jest.fn(() => {}),
findById: jest.fn(() => {}),
updateTicket: jest.fn(() => []),
deleteTicket: jest.fn(() => []),
update: jest.fn(() => []),
}),
};
const module: TestingModule = await Test.createTestingModule({
controllers: [TicketController],
providers: [TicketService, ApiServiceProvider],
}).compile();
ticketsControler = module.get<ticketController>(TicketController);
spyService = module.get<TicketService>(TicketService);
});
it('calling createTicket', () => {
const dto = new CreateTicketDto();
expect(TicketController.createTicket(dto)).not.toEqual(null);
});
});
这就是我一直遇到的错误 =>
第 29 和 30 行
Property 'prototype' is missing in type 'TicketController' but required in type 'typeof TicketController'.
我在第 35 行也遇到了这个错误,但我想这取决于之前的问题。 Property 'createTicket' does not exist on type 'typeof TicketController'.
【问题讨论】:
标签: typescript unit-testing nestjs