用于角度单元测试的模拟 uuid

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

我有一个案例,我需要模拟一个 uuid 来运行并通过测试用例,

import * as uuid from "uuid"

export class Test{

    createData() {
        for (let item of raw_data) {
            this.data_to_post.push({
                ...item,
                id:uuid()
            })
        }
    }
}

我的测试用例是

describe("test this", () => {
    it("should crete data for post", async () => {
        let raw_data = [
            {
                name: "name-1",
                mobile:"******"
            },
            {
                name: "name-2",
                mobile:"******"
            },
        ]
        let data_to_push = [
            {
                name: "name-1",
                mobile: "******",
                id:"0000-0000-0001"
            },
            {
                name: "name-2",
                mobile: "******",
                id: "0000-0000-0002"
            },
        ]
        await componet.createData()
        expect(componet.data_to_post).toEqual(data_to_push)
    })
})

谁能给我一个答案,如何模拟 uuid 来运行这个案例或任何其他可能性

我已经尝试过为 uuid 监视和创建类,但对我来说都不起作用

angular unit-testing jasmine karma-jasmine
1个回答
0
投票

您可以将 ID 传递给

createData
函数。然后在你的测试中,你会传递你想要的任何固定值。

调用

createData
的生产代码将生成 UUID 并将其传递给该函数。

© www.soinside.com 2019 - 2024. All rights reserved.