tan*_*379 5 typescript jestjs nestjs nrwl-nx
我的测试套件无法运行,因为“文件”输入类型未定义。仅当尝试运行测试时才会发生这种情况。该应用程序在开发中完美运行。下面是我的控制台输出。
\n$ nx run build-support-cases-api-core:test\n\n> nx run build-support-cases-api-core:test \n FAIL build-support-cases-api-core libs/build-support-cases/api/core/src/lib/__test__/buildSupportCase.service.spec.ts\n \xe2\x97\x8f Test suite failed to run\n\n ReferenceError: File is not defined\n\n 4 | export class CreateReceiptInput {\n 5 | @Field(() => String)\n > 6 | public receipt: File;\n | ^\n 7 |\n 8 | @Field(() => String)\n 9 | public vendorName: string;\n\n at Object.<anonymous> (../../../core/database/receipt/src/lib/dto/createReceipt.input.ts:6:19)\n at Object.<anonymous> (../../../core/database/receipt/src/lib/dto/createReceipt.dto.ts:1:1)\nRun Code Online (Sandbox Code Playgroud)\n为了完整性,这是完整的源文件
\nimport { Field, ID, InputType } from "@nestjs/graphql";\n\n@InputType()\nexport class CreateReceiptInput {\n @Field(() => String)\n public receipt: File;\n\n @Field(() => String)\n public vendorName: string;\n\n @Field(() => Date)\n public purchaseDate: Date;\n\n @Field(() => Number)\n public totalDollarAmount: number;\n\n @Field(() => String)\n public purchasedBy: string;\n\n @Field(() => String)\n public note: string;\n\n @Field(() => ID)\n public updateId?: number;\n}\nRun Code Online (Sandbox Code Playgroud)\n配置文件中是否有我丢失的内容?如何解决这个问题以便我的测试能够运行?
\n问题是 File 存在于 typescript 中,但不存在于 NodeJS(或扩展的 NestJS)中。然而,Blob 类型确实存在于 NestJS 中,因此如果您只需将 TypeScript 定义的文件类型复制到新文件并导入它,它就可以工作。
export interface File extends Blob {
readonly lastModified: number;
readonly name: string;
}
Run Code Online (Sandbox Code Playgroud)
import { Field, ID, InputType } from "@nestjs/graphql";
import { File } from "./interfaces";
@InputType()
export class CreateReceiptInput {
@Field(() => String)
public receipt: File;
@Field(() => String)
public vendorName: string;
@Field(() => Date)
public purchaseDate: Date;
@Field(() => Number)
public totalDollarAmount: number;
@Field(() => String)
public purchasedBy: string;
@Field(() => String)
public note: string;
@Field(() => ID)
public updateId?: number;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3937 次 |
| 最近记录: |