相关疑难解决方法(0)

如何使用 jest 为使用 uuid 的函数编写测试用例?

我正在使用jest编写测试用例。我的一个函数使用uuid,因此它不是纯函数。代码是这样的:

const myFunc = () => {
    const a = uuid();

    return a;
}
Run Code Online (Sandbox Code Playgroud)

我正在编写我的测试用例:

test('should return a unique id value', () => {
    const a = uuid();
    expect(myFunc()).toEqual(a);
});
Run Code Online (Sandbox Code Playgroud)

显然它不会工作,因为它每次都会生成一个唯一的 ID。如何为此类功能编写测试用例。

[编辑]

我不想测试这个uuid函数,因为它总是会生成一个新的 id,而且它是一个已经在测试中的库函数。我想测试另一个使用uuid、生成新对象并返回该对象的函数。这个函数被其他一些函数使用等等,这使我无法测试任何一个,因为初始对象的 id 与我在测试时使用的 id 不同。

javascript reactjs jestjs enzyme

4
推荐指数
2
解决办法
4844
查看次数

Jest:如何全局模拟node-uuid(或任何其他导入的模块)

最近迁移mochajest,我遇到了一个问题.我的测试中有很多警告:

[SECURITY] node-uuid: crypto not usable, falling back to insecure Math.random()

现在,将以下行添加到每个文件可以解决问题,但针对该特定测试文件:

jest.mock('node-uuid', () => ({ v4: jest.fn(() => 1) }));

我希望有一种方法可以node-uuid全局模拟所有测试而不是单个文件?我已经完成了一堆搜索,并在我的设置文件中尝试了不同的技术,但无济于事.

javascript jestjs node-uuid

3
推荐指数
1
解决办法
2610
查看次数

标签 统计

javascript ×2

jestjs ×2

enzyme ×1

node-uuid ×1

reactjs ×1