草庐IT

javascript - 如何使用 Jest 模拟同一模块中的函数?

正确模拟以下示例的最佳方法是什么?问题是在导入时间之后,foo保留对原始未模拟的bar的引用。module.js:exportfunctionbar(){return'bar';}exportfunctionfoo(){return`Iamfoo.baris${bar()}`;}module.test.js:import*asmodulefrom'../src/module';describe('module',()=>{letbarSpy;beforeEach(()=>{barSpy=jest.spyOn(module,'bar').mockImplementation(jest.f

javascript - Jest : how to mock console when it is used by a third-party-library?

我正在尝试模拟console.warn/error但我做不到。我使用了一个第三方库,它在里面调用了console.warn。我需要测试它是否被调用。在我的测试用例中,我试图stubconsole.warn但它没有帮助。之后我尝试手动模拟控制台,但也没有成功。console.warn=jest.fn();testSchema('/app/components/Users/UserItem/UserItemContainer.js');expect(console.warn).toBeCalled();没用console.warn=jest.fn();testSchema('/app/co

javascript - Jest : how to mock console when it is used by a third-party-library?

我正在尝试模拟console.warn/error但我做不到。我使用了一个第三方库,它在里面调用了console.warn。我需要测试它是否被调用。在我的测试用例中,我试图stubconsole.warn但它没有帮助。之后我尝试手动模拟控制台,但也没有成功。console.warn=jest.fn();testSchema('/app/components/Users/UserItem/UserItemContainer.js');expect(console.warn).toBeCalled();没用console.warn=jest.fn();testSchema('/app/co

javascript - 在 Jest 中模拟按钮点击

模拟按钮点击似乎是一个非常简单/标准的操作。然而,我无法让它在Jest.js测试中工作。这是我尝试过的(并且也是使用jQuery进行的),但它似乎没有触发任何东西:import{mount}from'enzyme';page=;pageMounted=mount(page);constbutton=pageMounted.find('#some_button');expect(button.length).toBe(1);//Itfindsitalrightbutton.simulate('click');//Nothinghappens 最佳答案

javascript - 在 Jest 中模拟按钮点击

模拟按钮点击似乎是一个非常简单/标准的操作。然而,我无法让它在Jest.js测试中工作。这是我尝试过的(并且也是使用jQuery进行的),但它似乎没有触发任何东西:import{mount}from'enzyme';page=;pageMounted=mount(page);constbutton=pageMounted.find('#some_button');expect(button.length).toBe(1);//Itfindsitalrightbutton.simulate('click');//Nothinghappens 最佳答案

javascript - 如何在 Jest 中测试抛出异常的类型

我正在处理一些代码,我需要在其中测试函数抛出的异常类型(是TypeError、ReferenceError等吗?)。我当前的测试框架是AVA,我可以将它作为第二个参数t.throws方法进行测试,如下所示:it('shouldthrowErrorwithmessage\'UNKNOWNERROR\'whennoparamswerepassed',(t)=>{consterror=t.throws(()=>{throwError();},TypeError);t.is(error.message,'UNKNOWNERROR');});我开始用Jest重写我的测试,但找不到如何轻松地做到这

javascript - 如何在 Jest 中测试抛出异常的类型

我正在处理一些代码,我需要在其中测试函数抛出的异常类型(是TypeError、ReferenceError等吗?)。我当前的测试框架是AVA,我可以将它作为第二个参数t.throws方法进行测试,如下所示:it('shouldthrowErrorwithmessage\'UNKNOWNERROR\'whennoparamswerepassed',(t)=>{consterror=t.throws(()=>{throwError();},TypeError);t.is(error.message,'UNKNOWNERROR');});我开始用Jest重写我的测试,但找不到如何轻松地做到这

javascript - 如何使用 Jest 获取代码覆盖率报告?

有没有办法在Jasmine之上构建的JavaScriptJest测试框架中实现代码覆盖?内部框架doesnot打印出它得到的代码覆盖率。我也试过使用Istanbul,blanket,和JSCover,但它们都不起作用。 最佳答案 使用Jest21.2.1时,我可以在命令行查看代码覆盖率,并通过将--coverage传递给Jest脚本来创建覆盖率目录。以下是一些示例:我倾向于在本地安装Jest,在这种情况下命令可能如下所示:npxjest--coverage我假设(虽然还没有确认),如果我全局安装Jest,这也会起作用:jest--c

javascript - 如何使用 Jest 获取代码覆盖率报告?

有没有办法在Jasmine之上构建的JavaScriptJest测试框架中实现代码覆盖?内部框架doesnot打印出它得到的代码覆盖率。我也试过使用Istanbul,blanket,和JSCover,但它们都不起作用。 最佳答案 使用Jest21.2.1时,我可以在命令行查看代码覆盖率,并通过将--coverage传递给Jest脚本来创建覆盖率目录。以下是一些示例:我倾向于在本地安装Jest,在这种情况下命令可能如下所示:npxjest--coverage我假设(虽然还没有确认),如果我全局安装Jest,这也会起作用:jest--c

javascript - 消息 "Async callback was not invoked within the 5000 ms timeout specified by jest.setTimeout"

我正在使用Puppeteer和Jest运行一些前端测试。我的测试如下所示:describe("ProfileTabExistsandClickable:/settings/user",()=>{test(`Assertthatyoucanclicktheprofiletab`,async()=>{awaitpage.waitForSelector(PROFILE.TAB);awaitpage.click(PROFILE.TAB);},30000);});有时,当我运行测试时,一切都按预期进行。其他时候,我会收到错误消息:Timeout-Asynccallbackwasnotinvoke