打字稿文件读取错误的变量类型

问题描述 投票:0回答:1

在我的spec.ts 文件中,它读取此错误““字符串”类型的参数不可分配给“数字”类型的参数。”对于值unitPrice,这没有意义,因为在我的.ts文件中unitPrice是类型数字。这些属性应该存储来自我使用 springboot 制作的 api 的值,并且 unitPrice 在我的 api 中被指定为 BigDecimal。所以我不知道unitPrice是一个“‘string’类型的参数”是从哪里得到的。

这是我的 .spec.ts 文件:

import { Product } from './product';

describe('Product', () => {
  it('should create an instance', () => {
    expect(new Product('sku', 'name', 'description', 'unitPrice', 'imageUrl', 'active', 'unitsInStock', 'dateCreated', 'lastUpdated')).toBeTruthy();
  });
});

这是我的.ts 文件

export class Product {
    constructor(public sku: string,
                public name: string,
                public description: string,
                public unitPrice: number,
                public imageUrl: string,
                public active: boolean,
                public unitsInStock: number,
                public dateCreated: Date,
                public lastUpdated: Date
    ) {
        
    }
}

这是我的 api 中的 json 片段

"_embedded" : {
    "products" : [ {
      "sku" : "BOOK-TECH-1000",
      "name" : "JavaScript - The Fun Parts",
      "description" : "Learn JavaScript",
      "price" : 19.99,
      "imageUrl" : "assets/images/products/placeholder.png",
      "active" : true,
      "unitsInStock" : 100,
      "dateCreated" : "2024-12-19T14:44:23.000+00:00",
      "lastUpdated" : null,
      "_links" : {
        "self" : {
          "href" : "http://localhost:8080/api/products/1"
        },
        "product" : {
          "href" : "http://localhost:8080/api/products/1"
        },
        "category" : {
          "href" : "http://localhost:8080/api/products/1/category"
        }
      }
    }
angular
1个回答
0
投票

如果

unitPrice
是数字类型,只需传递数值 (
1
) 而不是字符串 (
'unitPrice'
)。

import { Product } from './product';

describe('Product', () => {
  it('should create an instance', () => {
    expect(new Product('sku', 'name', 'description', 1, 'imageUrl', 'active', 'unitsInStock', 'dateCreated', 'lastUpdated')).toBeTruthy();
  });
});
© www.soinside.com 2019 - 2024. All rights reserved.