用角和茉莉测试和模拟uuid的问题

问题描述

我无法在测试中模拟uuid4。@H_404_1@

我有一个要测试的对象,看起来像这样:@H_404_1@


import { v4 as uuidv4 } from 'uuid';

...

{
    id: uuidv4(),testnumer: 'S1EQ20024808SSUS1',productid: 'S1P10186044S005',starttime: new Date(Date.Now()),}; 

开玩笑,似乎很容易@H_404_1@

jest.mock('uuid',() => ({ v4: () => '00000000-0000-0000-0000-000000000000' }));

但是我想不出来在用angular和茉莉花创建的objewct中编写测试。@H_404_1@

日期很容易:@H_404_1@

jasmine.clock().mockDate();

我尝试过西蒙。@H_404_1@

sinon.stub(uuid,'v4').returns('cd589508-dcd6-44d8-99f8-ea99a54c15ed');

但这不起作用。@H_404_1@

有什么建议吗?@H_404_1@

感谢和问候@H_404_1@

解决方法

尝试在您的spec文件中执行此操作。

import * as uuidWrapper from 'uuid';

...
spyOn(uuidWrapper,'v4').and.returnValue(/* your mock value goes here */);