如何使用Jest在React中对开关案例进行单元测试?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用Jest在React中对开关案例进行单元测试?相关的知识,希望对你有一定的参考价值。

我想为此计算创建一个单元测试。我将在其他组件中使用此sum函数来计算来自API的值。在这种情况下,猫和狗将被提取出数据。

export const sum = (value, number, type) => 
    let result;
    switch (type) 
        case 'cats':
            result = round(sumBy(slice(value, 0, number), 'cats'));
            return Number.isNaN(result) ? 0 : result;
        case 'dogs':
            result = round(sumBy(slice(value, 0, number), 'dogs'));
            return Number.isNaN(result) ? 0 : result;
        default:
            return 0;
    
;
答案

此功能类似于您的功能:

  const sum = (value, number, type) => 
  let result;
  switch (type) 
    case "cats":
      return  ["cats"]: value * number ;
    case "dogs":
      return  ["dogs"]: value + number ;
    default:
      return 0;
  
;
module.exports = sum;

测试:

describe("sum function", () => 
  it("should return 0", () => 
    expect(sum(1, 1)).toBe(0);
  );
  it("should return cats", () => 
    expect(sum(3, 2, "cats")).toEqual( cats: 6 );
  );
  it("should return dogs", () => 
    expect(sum(10, 5, "dogs")).toEqual( dogs: 15 );
  );
);

以上是关于如何使用Jest在React中对开关案例进行单元测试?的主要内容,如果未能解决你的问题,请参考以下文章

如何在使用 react-testing-library 和 jest 完成的单元测试中启用 react-i18n 翻译文件?

基于 Jest + Enzyme 的 React 单元测试

如何在 create-react-app 上调试 jest 单元测试?

如何断言哪个值已传递给 <li> 键属性以与 jest 和 testing-library/react 反应

使用 react-navigation 中的 useRoute 进行 Jest 单元测试

如何在 SharePoint SPFx + react 项目中配置 jest 单元测试框架