小编dek*_*eko的帖子

如何在玩笑中模拟函数内的变量

我想开玩笑地测试“canViewPage”方法。如何模拟 const userPages 这是来自 func getUserPage 的值

   canViewPage(page){
     const userPages = getUsersPages();
    if(userPages.includes(page)){
      return true;
    }
    return false;
   }


  getUsersPages(){
    // here i hardcode a list of pages, for simplicity purposes
    const pages = ['home','about','contact'];
    return pages

  }



Run Code Online (Sandbox Code Playgroud)

这是我尝试过的

test('test canViewPage', () => {
    const spy = jest.spyOn(canViewPage, 'userPages');
    spy.mockReturnValue(['home','about','contact']);

    expect(canViewPage('premiumPage')).toBe(false); 

    spy.mockRestore();
  });
Run Code Online (Sandbox Code Playgroud)

我也尝试过这个

test('test canViewPage', () => {
    const spy = jest.spyOn(canViewPage, 'getUsersPage');
    spy.mockReturnValue(['home','about','contact']);

    expect(canViewPage('premiumPage')).toBe(false); 

    spy.mockRestore();
  });
Run Code Online (Sandbox Code Playgroud)

reactjs jestjs enzyme

10
推荐指数
1
解决办法
7万
查看次数

标签 统计

enzyme ×1

jestjs ×1

reactjs ×1