我正在寻求您的帮助。我创建了一个看起来像它的DTO(这是一个较小的版本):
export class OfImportDto {
@IsString({
message: "should be a valid product code"
})
productCode: string;
@IsString({
message: "Enter the proper product description"
})
productDescription: string;
@IsDateString({
message: "should be a valid date format, for example : 2017-06-07T14:34:08+04:00"
})
manufacturingDate : Date
@IsInt({
message: "should be a valid planned quantity number"
})
@IsPositive()
plannedQuantity: number;
问题是我要用单元测试而不是E2E测试来测试它。而且我不知道该怎么做。例如,我想进行单元测试 1 /如果我的产品代码是字符串,则应创建一个字符串,否则,将抛出异常 2 /如果我的产品描述很好,应该创建一个字符串,否则,抛出异常 ... 等等。
那么,我可以制作一个spec.ts文件进行测试吗?如果是,怎么办? 如果不是,最好在service.spec.ts中对其进行测试?如果可以,怎么办?
非常感谢您,任何帮助都将非常有帮助:)
答案 0 :(得分:1)
可以创建一个OfImportDTO.spec.ts
文件(或任何原始文件称为),但事实是,这里没有任何逻辑可以测试。您最能做的是从Validator
创建一个class-validator
的实例,然后实例化OfImportDto
的实例,然后检查该类是否通过验证。如果您向其中添加逻辑(例如具有特定功能的getter和setter),则对于单元测试可能是有意义的,但是否则,这基本上是一个称为类的接口,因此它在运行时存在于class-validator