首页 > 解决方案 > 用 Jest 检查 concat 数组

问题描述

我有一个文件 release.ts 用这个方法:

class Release{
public releaseTicketIds(): string[] {
    const tab = [];
    const tab2 = [];
    this.newFeatures.forEach((issue) => {
        tab.push(issue.id);  //["1", "2"]
    });
    this.fixedIssues.forEach((issue2) => {
        tab.push(issue2.id);   //["3", "4"]
    });
    const globalTickets = tab.concat(tab2);
    return globalTickets;
}
}

我想用 Jest 做一个测试:

test("concat two array", () => {
    // Given
    const array = ["1", "2"];
    const array1 = ["3", "4"];

    // When
    const result = Release.releaseTicketIds();

    // Then
    expect(result).toBe(["1", "2", "3", "4"]);
});

我有这个错误:

Property 'releaseTicketIds' does not exist on type 'typeof Release'

我不想更改为静态...我该怎么办?

标签: javascripttypescriptjestjs

解决方案


正如评论中所建议的,创建一个实例,然后调用它:

test("concat two array", () => {
    // Given
    const array = ["1", "2"];
    const array1 = ["3", "4"];

    // When
    const result = new Release().releaseTicketIds();

    // Then
    expect(result).toBe(["1", "2", "3", "4"]);
});

推荐阅读