所以我尝试测试一个依赖于另一个模型的mongoose模型,但是我得到一个错误消息Target class "undefined" passed in to the "DefinitionsFactory#createForClass()" method is "undefined".
:
下面是我的模式:
import { Prop, Schema, SchemaFactory } from '@nestjs/mongoose';
import mongoose, { Document } from 'mongoose';
import { User } from '~/user/schemas';
export type JustificationDocument = Justification & Document;
@Schema({ timestamps: true })
export class Justification {
@Prop({ type: mongoose.Schema.Types.ObjectId, ref: 'User' })
user: User;
@Prop({ type: String })
sku: string;
@Prop()
text: string;
@Prop()
combatantSku?: string;
@Prop()
combatantSkuLink?: string;
}
export const JustificationSchema = SchemaFactory.createForClass(Justification);
enter code here
这是我尝试使用jest.mock('mongoose');
模拟mongoose时的完整错误:error I got
1条答案
按热度按时间9njqaruj1#
我遭受了这个错误几乎4天。但我刚刚解决了这个问题。它发生在'@Prop()'装饰器,因为'@nestjs/mongoose'是不模仿。你应该模仿'@nestjs/mongoose'和模仿@Prop应该返回对象。
我不知道你是否解决或没有,但我希望我的评论帮助别人