Nestjs Nest.JS单元测试中的ClassSerializedInterceptor
在测试Nest.JS控制器时是否可以使用ClassSerializedInterceptor 我们的问题是ClassSerializedInterceptor作为应用程序的一部分可以正常工作,但当控制器作为单元测试的一部分实例化时,它不会运行。我尝试提供ClassSerializeInterdeptor作为测试模块的一部分,但没有成功 示例代码: 试验Nestjs Nest.JS单元测试中的ClassSerializedInterceptor,nestjs,Nestjs,在测试Nest.JS控制器时是否可以使用ClassSerializedInterceptor 我们的问题是ClassSerializedInterceptor作为应用程序的一部分可以正常工作,但当控制器作为单元测试的一部分实例化时,它不会运行。我尝试提供ClassSerializeInterdeptor作为测试模块的一部分,但没有成功 示例代码: 试验 作为请求流的一部分测试拦截器只能在e2e和部分集成测试中完成。您需要将一个supertest实例设置为并发送请求,以确保ClassSeriali
作为请求流的一部分测试拦截器只能在e2e和部分集成测试中完成。您需要将一个
supertest
实例设置为并发送请求,以确保ClassSerializeInterceptor
按预期运行
describe('AppController', () => {
let appController: AppController;
beforeEach(async () => {
const app: TestingModule = await Test.createTestingModule({
controllers: [AppController],
providers: [AppService, ClassSerializerInterceptor],
}).compile();
appController = app.get<AppController>(AppController);
});
describe('root', () => {
it('should not expose exlcuded fields"', async () => {
// expect(appController.getHello()).toBe('Hello World!');
const s = await appController.getHello();
expect(s).toHaveProperty('shouldBeIncluded');
expect(s).not.toHaveProperty('shouldBeRemoved');
});
});
});
@ObjectType()
@Entity()
export class TestEntity {
@Field(type => ID)
@PrimaryGeneratedColumn('uuid')
shouldBeIncluded: string;
@Column({ nullable: true })
@Exclude()
shouldBeRemoved: string;
}