混血哲谈
码龄12年
关注
提问 私信
  • 博客:556,097
    556,097
    总访问量
  • 163
    原创
  • 31,900
    排名
  • 257
    粉丝
  • 0
    铁粉

个人简介:无论身在何处,勿忘佛子本分

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:广东省
  • 加入CSDN时间: 2013-05-27
博客简介:

寬真

博客描述:
一切有为法 如梦幻泡影 如露亦如电 应作如是观
查看详细资料
  • 原力等级
    当前等级
    5
    当前总分
    1,352
    当月
    11
个人成就
  • 获得410次点赞
  • 内容获得66次评论
  • 获得642次收藏
  • 代码片获得1,979次分享
创作历程
  • 51篇
    2024年
  • 24篇
    2023年
  • 37篇
    2022年
  • 23篇
    2021年
  • 26篇
    2020年
  • 36篇
    2019年
  • 29篇
    2018年
成就勋章
TA的专栏
  • npm
    5篇
  • axios
    3篇
  • eslint
    3篇
  • 性能监控
    1篇
  • html
    6篇
  • umi
    6篇
  • vscode
    1篇
  • css
    7篇
  • js
    26篇
  • vue
    14篇
  • react
    42篇
  • typescript
    3篇
  • antd
    17篇
  • webpack
    9篇
  • nodeJS
    4篇
  • git
    11篇
  • mysql
    3篇
  • 前端学习方法
    4篇
  • vscode快捷键
    1篇
  • mac使用技巧
    1篇
  • 其他
    2篇
  • 问题
    13篇
  • 哲理
    1篇
  • 感想
    1篇
兴趣领域 设置
  • 前端
    javascriptcssvue.jsreact.jses6webpack前端框架
  • 后端
    node.js
  • 移动开发
    flutter
  • 网络与通信
    https
  • 微软技术
    typescript
  • 学习和成长
    面试
创作活动更多

超级创作者激励计划

万元现金补贴,高额收益分成,专属VIP内容创作者流量扶持,等你加入!

去参加
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

jest测试带异步操作的自定义hook

然而,在这个例子中,由于我们直接测试的是 Hook 而不是组件,所以。然后,我们编写了两个测试用例:一个用于验证成功的数据获取,另一个用于验证错误处理。被正确地 mock,并且你能够验证 Hook 的行为(包括其状态更新和副作用)是否按预期进行。只在组件挂载时运行一次(由于依赖数组为空),因此我们只需要在测试中等待一次更新即可。也能工作)来等待异步操作完成,并验证 Hook 的状态是否按预期更新。Hook,那么你可能需要使用不同的方法来等待组件的渲染和状态更新。,如果它适用于你的场景)来处理异步操作。
原创
发布博客 2024.09.13 ·
424 阅读 ·
5 点赞 ·
0 评论 ·
6 收藏

我的react组件中用到了一个自定义hook:useA的返回值reportData,我想写这个组件的单元测试,我想mock这个自定义useA的返回值reportData在不同值的情况下组件的不同表现

如果useA是通过导出的,并且useA的返回值是一个对象,那么在测试文件中模拟这个Hook时,你需要确保mock函数返回的也是一个具有相同结构的对象。(假设组件使用这个Hook)在这个示例中,mockUseA是一个mock函数,它返回了一个对象,该对象具有与useA实际返回相同的结构(即一个包含reportData属性的对象)。然后,在测试用例中,我们通过调用来为不同的测试场景设置不同的返回值。请注意,由于我们使用了jest.mock来模拟整个模块,因此我们不需要(也不能)从模块中解构出useA。
原创
发布博客 2024.09.13 ·
594 阅读 ·
25 点赞 ·
0 评论 ·
8 收藏

jest需要mock自定义hook导出的数据,同一个测试文件不同的用例需要不同的数据,该怎么mock

RTL与Jest结合使用时,虽然不直接支持Hook的mock,但它提供了更贴近用户实际使用场景的组件测试方式。当在同一个测试文件中针对不同的测试用例需要mock自定义Hook导出不同的数据时,你可以使用Jest的动态mock功能或者利用Jest的。),你可能需要使用一些额外的配置或技巧来动态地修改mock的行为。来重置mock,确保每个测试用例的mock行为是独立的,不会受到前一个测试用例的影响。但是,请注意,如果你使用的是ES Modules(即使用。是静态的,在模块加载时就已经确定了,而。
原创
发布博客 2024.09.13 ·
373 阅读 ·
10 点赞 ·
0 评论 ·
2 收藏

使用@test-library/react的screen中的方法和直接使用getByText,getByTestId等的区别?

使用上下文:直接使用getByText等方法时,你可能需要指定一个容器元素(尽管在大多数情况下,你会从render函数的返回结果中直接调用它们)。而screen对象则不需要,因为它已经代表了整个 DOM。全局性screen对象提供了一种全局查询的方式,这在某些情况下非常有用,比如当你需要查询不在当前组件作用域内的元素时。推荐做法:虽然你可以直接调用getByText等方法,但使用screen对象进行全局查询是 React Testing Library 推荐的做法,因为它更符合库的设计哲学和最佳实践。
原创
发布博客 2024.09.10 ·
791 阅读 ·
3 点赞 ·
0 评论 ·
5 收藏

jest的toEqual测试两个对象或者两个数组的时候会要求顺序么?

在Jest中,.toEqual()方法用于测试两个对象或数组是否相等时,对于对象的属性顺序是不敏感的,因为对象的属性是无序的。然而,对于数组的顺序,.toEqual()是敏感的。
原创
发布博客 2024.08.29 ·
302 阅读 ·
3 点赞 ·
0 评论 ·
0 收藏

jest 的.toContainEqual(item)和.toContain的区别?

jest的和===itemitem.toContain.toContainitem.toContain。
原创
发布博客 2024.08.28 ·
478 阅读 ·
5 点赞 ·
0 评论 ·
10 收藏

zustand的用法

则意味着新的状态将完全替换旧的状态,这可以用于重置状态等场景。另外,这个参数也可以是一个自定义的比较函数,用于更复杂的比较逻辑。:这是一个必须提供的参数,它是一个回调函数,返回一个对象,该对象包含了状态数据以及修改这些状态的方法。函数的第二个参数,它用于自定义状态变化的比较逻辑。函数的基本用法是接受一个函数或对象作为参数,该函数或对象描述了状态应该如何被更新。函数的第二个参数,它是一个可选的项,用于自定义状态变化的比较逻辑。函数的第二个参数,通常需要注意的是,函数的第二个参数,或者是与。
原创
发布博客 2024.08.27 ·
251 阅读 ·
3 点赞 ·
0 评论 ·
2 收藏

ts的Pick,Omit,Partial,Required怎么使用?

是一个非常有用的工具类型,它允许你从一个已存在的类型中“挑选”出一个或多个属性,创建一个新的类型。这对于类型映射、条件类型以及创建基于现有类型的新类型时非常有用。是三个非常有用的内置工具类型,它们允许你以声明式的方式修改现有类型的属性。是TypeScript类型系统中一个非常强大的工具,能够帮助你以类型安全的方式处理复杂的类型映射问题。例如,你可能有一个复杂的对象,但只需要其部分属性用于某个特定的函数或组件。,你可以轻松地创建一个仅包含所需属性的新类型,从而保持类型安全和代码清晰度。的属性名的集合(通过。
原创
发布博客 2024.08.27 ·
752 阅读 ·
16 点赞 ·
0 评论 ·
6 收藏

lodash-es中的set和get的用法

通过这两个函数,你可以灵活地在 JavaScript 对象或数组中读取和设置值,而无需担心路径是否存在。这对于避免在深度嵌套的对象中访问不存在的属性时引发错误非常有用。的一个模块化版本,允许你通过 ES 模块(ECMAScript Modules)的方式按需导入函数,以减少最终打包体积。函数用于设置对象路径上的值。这对于动态地向深层嵌套的对象添加属性非常有用。是一个一致性、模块化、高性能的 JavaScript 实用工具库。是两个非常有用的函数,用于在深层嵌套的对象中安全地读取和设置值。
原创
发布博客 2024.08.24 ·
817 阅读 ·
6 点赞 ·
0 评论 ·
4 收藏

zustand/middleware/immer中的immer怎么用

这种方式使得管理复杂的状态变得简单得多,因为你不再需要手动创建和返回新的状态对象,只需直接修改传入。是一个用于状态管理的小型、可扩展的库,它鼓励使用单一状态树来管理应用中的所有状态。,这在许多现代前端框架和库中是一个受欢迎的特性,因为它有助于简化数据管理和减少副作用。中,中间件允许你扩展或修改 store 的行为,而不必直接修改。在这个例子中,我们创建了一个简单的 store,它有一个。是一个库,用于创建不可变数据的简化方法,对象,而不需要创建一个新的对象来返回。的一个不可变副本,并替换了原始的。
原创
发布博客 2024.08.24 ·
384 阅读 ·
5 点赞 ·
0 评论 ·
3 收藏

数据的不可变性和可变性用代码举例

数据的不可变性是编程中的一个重要概念,它有助于减少错误、提高代码的可靠性和性能,并促进函数式编程范式。虽然在一些情况下可能需要额外的努力来实现不可变性,但其带来的好处通常是值得的。
原创
发布博客 2024.08.24 ·
886 阅读 ·
9 点赞 ·
0 评论 ·
20 收藏

apifox高级Mock写法:从数组中随机选取几个值生成新数组

如下这种方式可行在Mock.js中,这段代码定义了一个数据模板属性hobbyName,它使用了@shuffle函数来生成一个随机的数组,该数组包含从指定列表中随机选择的元素,且数组的长度在1到5之间(包含1和5)。
原创
发布博客 2024.08.19 ·
449 阅读 ·
2 点赞 ·
0 评论 ·
0 收藏

vscode插件开发文档 地址

API参考:详细介绍了VSCode提供的各种API,包括编辑器API、工作区API、命令API、视图API等,开发者可以使用这些API来扩展VSCode的功能。开发指南:提供了插件开发的详细步骤、注意事项、最佳实践等,帮助开发者快速上手插件开发。示例代码:提供了多个示例插件的代码,这些示例覆盖了插件开发的各个方面,如自定义命令、快捷键、菜单项、语言支持等,开发者可以通过阅读示例代码来学习插件开发的具体实现。发布和分发。
原创
发布博客 2024.08.01 ·
661 阅读 ·
5 点赞 ·
0 评论 ·
10 收藏

版本号的^及其他一些符号梳理及其代表的意思

在软件开发和版本控制中,版本号及其前缀符号扮演着重要的角色。这些符号不仅帮助开发者追踪和管理软件的更新,还确保了依赖包之间的兼容性。以下是对版本号中的。
原创
发布博客 2024.08.01 ·
1064 阅读 ·
5 点赞 ·
0 评论 ·
6 收藏

mac中如何安装nvm?如果并没有.zshrc文件该如何处理呢?

如果在macOS的终端中找不到.zshrc文件,你可以通过创建这个文件、编辑它以添加你的配置(包括NVM的初始化脚本)、保存并关闭文件、以及刷新你的shell配置来解决这个问题。这样,你就可以在zsh shell中使用你想要的配置和环境变量了。
原创
发布博客 2024.08.01 ·
1503 阅读 ·
5 点赞 ·
0 评论 ·
14 收藏

使用nvm命令报错如下,请帮忙分下下:mac@MacdeMacBook-Pro .nvm % nvm current zsh: command not found: nvm

当你在macOS的终端中遇到的错误时,这通常意味着NVM(Node Version Manager)没有被正确地添加到你的shell环境中,或者你的shell没有加载包含NVM初始化脚本的配置文件。
原创
发布博客 2024.08.01 ·
676 阅读 ·
4 点赞 ·
0 评论 ·
7 收藏

使用nvm命令报错如下,请帮忙分下下:mac@MacdeMacBook-Pro .nvm % nvm current zsh: command not found: nvm

当你在macOS的终端中遇到的错误时,这通常意味着NVM(Node Version Manager)没有被正确地添加到你的shell环境中,或者你的shell没有加载包含NVM初始化脚本的配置文件。
原创
发布博客 2024.08.01 ·
341 阅读 ·
4 点赞 ·
0 评论 ·
8 收藏

数字化转型是要做什么?

总之,数字化转型是一个复杂而长期的过程,需要企业从战略、技术、数据、流程、客户体验、组织文化和生态系统等多个方面入手,全面推动变革。通过数字化转型,企业可以实现业务模式的创新、运营效率的提升、客户体验的增强以及竞争优势的构建。它不仅仅是技术层面的升级,更是企业战略、组织、文化等全方位的变革。:构建数字化转型生态系统,与供应商、合作伙伴、客户等建立紧密的合作关系。:引入先进的数字技术,如云计算、大数据、人工智能、物联网等,提升数据处理和分析能力,支持业务流程的自动化和智能化。
原创
发布博客 2024.08.01 ·
400 阅读 ·
3 点赞 ·
0 评论 ·
8 收藏

BPM是什么及BPM有哪些优秀代表

定义:BPM是一种系统化方法,用于设计、监控、管理和执行相互关联的业务流程。功能系统管理:包括用户管理、人员管理、权限管理、登录认证、个人设置、基础数据管理等。岗位管理:涉及集团公司部门、岗位管理、角色管理等。表单/流程设计:支持表单设计、流程设计、仿真测试等。流程管理/执行:包括流程分类管理、流程审批、流程的查询、统计和分析等。系统集成:能够与ERP、SAP等外部系统集成,实现多系统间的流程串接和数据共享。
原创
发布博客 2024.08.01 ·
1248 阅读 ·
15 点赞 ·
0 评论 ·
15 收藏

如何配置发布组件库的scope

我引入了别人的组件库中的组件,别人的组件库是使用的dumi搭建的,我的引入地址为“@CCCC-sz/basic-component”,请问这个@CCCC-sz是怎么配置的,是什么意思?@CCCC-sz是 NPM(Node Package Manager)中的一个作用域(Scope)名称。在 NPM 中,作用域允许你将相关的包组织在一起,同时避免命名冲突。作用域名通常与你的组织或项目名相关,并且以符号开头。在这个例子中,@CCCC-sz很可能是某个组织或团队的名称,他们使用 NPM 来分发和管理他们的包。
原创
发布博客 2024.08.01 ·
368 阅读 ·
3 点赞 ·
0 评论 ·
7 收藏
加载更多