前端进阶之旅前端进阶之旅
  • 基础篇HTML/CSS/JS 打底
  • 进阶篇原理与工程化
  • 高频篇面试最常问的那批
  • 精选篇按模块收敛的总结
  • 手写篇常考代码手写实现
  • 面经篇真实面试问题复盘
  • AI 篇NEWAI 时代的前端考点
  • 历年面经NEW按年份追踪真实考点
  • 每日一题每天一道,攒手感
  • 专项自测100 题快速查漏
  • 小程序题库小程序专项刷题
  • 算法题库NEW在线编码即时判题
  • 知识卡片NEW碎片时间过考点
  • 面试题大全常见问题解析
  • AI 答疑NEW随时提问,即时解析
  • AI 模拟面试NEW模拟真实面试 + 报告
  • AI 定制路线NEW按你的简历现排
  • AI 知识地图NEW串起全站知识点
  • 原理篇React / Vue 源码拆解
  • HTTP从报文一路讲到 HTTPS
  • 浏览器渲染、事件循环、进程
  • 计算机基础Linux、网络、操作系统
  • 设计模式23 种模式怎么用
  • Node学习指南从环境搭建到服务端
  • NPM工作流script、依赖与发布
  • Docker容器化部署上手
  • Canvas图形与动画实战
  • 前端系统进阶学习大型项目工程化
  • 前端综合文章长期沉淀的实践文
  • 思维导图知识点全景图
  • 学习路线按图索骥不跑偏
  • AI 热点NEWAI 每日动态
  • 公众号动态公众号历史文章
  • 博客动态站长的技术博客
  • 开发者导航常用工具与文档站
  • 基础篇HTML/CSS/JS 打底
  • 进阶篇原理与工程化
  • 高频篇面试最常问的那批
  • 精选篇按模块收敛的总结
  • 手写篇常考代码手写实现
  • 面经篇真实面试问题复盘
  • AI 篇NEWAI 时代的前端考点
  • 历年面经NEW按年份追踪真实考点
  • 每日一题每天一道,攒手感
  • 专项自测100 题快速查漏
  • 小程序题库小程序专项刷题
  • 算法题库NEW在线编码即时判题
  • 知识卡片NEW碎片时间过考点
  • 面试题大全常见问题解析
  • AI 答疑NEW随时提问,即时解析
  • AI 模拟面试NEW模拟真实面试 + 报告
  • AI 定制路线NEW按你的简历现排
  • AI 知识地图NEW串起全站知识点
  • 原理篇React / Vue 源码拆解
  • HTTP从报文一路讲到 HTTPS
  • 浏览器渲染、事件循环、进程
  • 计算机基础Linux、网络、操作系统
  • 设计模式23 种模式怎么用
  • Node学习指南从环境搭建到服务端
  • NPM工作流script、依赖与发布
  • Docker容器化部署上手
  • Canvas图形与动画实战
  • 前端系统进阶学习大型项目工程化
  • 前端综合文章长期沉淀的实践文
  • 思维导图知识点全景图
  • 学习路线按图索骥不跑偏
  • AI 热点NEWAI 每日动态
  • 公众号动态公众号历史文章
  • 博客动态站长的技术博客
  • 开发者导航常用工具与文档站
首页程序员面试题库第 87 页
面试知识索引 · 分类、标签与搜索

5000 道程序员面试题,每题都有完整答案

程序员面试题库第 87 页,收录第 4301–4350 题,共 5000 道完整解析,覆盖前端、JavaScript、React、Vue、Node.js、AI Agent、网络、数据库与系统设计。

5,000完整问题
52技术分类
178检索标签
100索引分页
按分类建立知识面,再用标签和搜索定位问题

每页只渲染 50 道题。分类与标签分页可抓取,自由搜索结果不会制造无限 SEO 页面。

快速定位

分类、标签与关键词搜索

题库检索
技术分类52 个
全部分类5000AI Agent511浏览器301JavaScript285React281AI 开发262CSS240Node.js217TypeScript206Vue180前端工程化138React Native135
查看全部 52 个分类
操作系统135数据库134Docker95计算机网络94API 设计90Kubernetes90HTML89Redis89全栈开发88分布式系统88系统设计86HTTP85Next.js60Angular58Linux53Nuxt51PostgreSQL46可观测性46设计模式46小程序45身份与权限45无障碍44MongoDB43PWA43Web 安全43Git42前端测试42前端性能41WebAssembly40测试40AI 工程37SvelteKit37Go35前端数据管理30React Router29AI 全栈28Svelte27算法12Java10数据结构5前端手写题3
热门标签178 个
并发编程448缓存355性能优化340安全336异步编程292类型系统215构建工具211容器化184流处理177表单157SQL148HTTP141路由140离线应用121网络协议111
查看其余 163 个标签
测试109数据库事务95实时通信92Web 可访问性90动画79可观测性77Agent 记忆75向量检索66工具调用66LangGraph59Prompt56任务规划53排障与运维53数据库索引52浏览器自动化51Flexbox50值与类型50GraphQL49事务与并发49构建与镜像49DNS 与 TLS48工程协作与交付48AI 评测47CSS Grid47Express 服务47MCP47副作用与同步47向量与嵌入47文件与多媒体47流与二进制47传输与协议46列表与性能46可维护代码46响应式原理46容器运行46指标日志追踪46数据建模与运维46文件与 I/O46表单与输入46MCP 协议45RAG45Vite 与模块构建45Webpack45内存与虚拟化45原生集成45多 Agent45工作负载与发布45应用与性能45数据处理45模块与工具链45组件与模板45缓存与数据结构45网络与运维45评估与调试45身份认证与授权45运行时与开发45Web 系统方案44一致性与容错44侦听与生命周期44分布式使用44原生组件与交互44可访问交互44消息与异步处理44渲染与调度44索引与执行计划44组件设计44缓存与代理44进程与并发44层叠与选择器43攻击面与防御43文档数据库43权限与安全43离线与渐进增强43语义与文档43请求与通信 API43Worker 与线程协作42事件系统42存储与离线数据42服务架构42服务端与流式渲染42服务端工程42泛型设计42版本控制42类型收窄42类型运算42组件与端到端42编码与执行42进程与线程42DOM 与文档操作41Flex 布局41HTTP 语义41NestJS 架构41REST 与接口契约41SQL 查询41加载与交互性能41动画与视觉41类型工程41记忆与状态41运行时与调度41Agent 架构40WebAssembly 集成40单元与集成测试40多 Agent 协作40工作流编排40模块与语言机制40浏览器与 UI 自动化40生产运行40函数与作用域39响应式设计39性能与并发39类型系统基础39Grid 布局38数组与集合38盒模型与排版38Hooks 与复用37应用开发37推理与成本37状态共享37知识库数据37模型与应用评测36对象与原型35状态与渲染35语言与并发35异步与 Promise34Effect32RAG 检索31React 性能31响应式与性能31微调与数据31TanStack Query30全栈边界30数据与缓存30大模型基础29路由与数据流29事件循环28流式交互28提示与上下文设计27数据与服务端27组件与依赖注入27组件与响应式27多模态应用24应用与渲染24Hydration22沙箱安全22状态管理18算法18CI/CD13语言与运行时10React Server Components6搜索与排序4实用函数实现3链表栈队列3图算法2字符串算法2树与遍历2索引与高级结构2Kubernetes1作用域与函数1动态规划1异步与浏览器1手写与交互性能1数组与双指针1相等比较1
当前页87 / 100

正在显示第 4301–4350 题

测试38前端测试12
第 87 页

本页面试问题

按稳定语义路径排序

  1. 4301
    前端测试组件与端到端

    用 React Testing Library 如何模拟表单输入并断言受控组件的值与校验提示

    围绕“用 React Testing Library 如何模拟表单输入并断言受控组件的值与校验提示”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确 userEvent.type/clear 触发受控 onChange 及校验文案的异步断言。

    核心关键词React Testing Library 表单输入 校验 测试
    #组件与端到端#异步编程#测试
  2. 4302
    前端测试组件与端到端

    Testing Library 查询默认为何查不到 display:none 的元素,如何用 hidden 选项改变行为

    围绕“Testing Library 查询默认为何查不到 display:none 的元素,如何用 hidden 选项改变”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确默认按可访问性过滤隐藏元素及 byRole 的 hidden:true 例外用法。

    核心关键词Testing Library hidden 元素 查询不到
    #组件与端到端#Web 可访问性#测试
  3. 4303
    前端测试组件与端到端

    Testing Library 中 getAllBy 返回数组后如何对列表内容做稳定断言

    围绕“Testing Library 中 getAllBy 返回数组后如何对列表内容做稳定断言”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确用 getAllByRole 结合文本内容断言数量与条目、避免依赖 DOM 顺序以外的脆弱选择。

    核心关键词Testing Library getAllBy 列表断言 within
    #组件与端到端#测试
  4. 4304
    前端测试组件与端到端

    Testing Library 查询方法的优先级顺序是什么,为什么 getByRole 应优先于 getByTestId

    围绕“Testing Library 查询方法的优先级顺序是什么,为什么 getByRole 应优先于 getByTest”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确按可访问性贴近用户程度的优先级排序理由。

    核心关键词Testing Library 查询优先级 getByRole
    #组件与端到端#Web 可访问性#测试
  5. 4305
    前端测试组件与端到端

    用 React Testing Library 测试依赖路由参数的组件时如何注入路由上下文与初始路径

    围绕“用 React Testing Library 测试依赖路由参数的组件时如何注入路由上下文与初始路径”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确 MemoryRouter initialEntries 提供路径与参数、不依赖浏览器 history 的做法。

    核心关键词React Testing Library MemoryRouter 路由测试
    #组件与端到端#Agent 记忆#路由
  6. 4306
    前端测试组件与端到端

    Testing Library 的 getByRole 如何通过可访问名称区分同名按钮,name 选项依据什么计算

    围绕“Testing Library 的 getByRole 如何通过可访问名称区分同名按钮,name 选项依据什么计算”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确可访问名称由 aria-label、关联 label、文本内容按规范计算并可用 name 过滤。

    核心关键词Testing Library getByRole name 可访问名称
    #组件与端到端#Web 可访问性#测试
  7. 4307
    前端测试组件与端到端

    Testing Library 中为什么推荐用 screen 查询而不是解构 render 的返回值

    围绕“Testing Library 中为什么推荐用 screen 查询而不是解构 render 的返回值”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确 screen 避免 container 引用过期、减少 render 返回项扩散的理由。

    核心关键词Testing Library screen render 解构 推荐
    #组件与端到端#测试
  8. 4308
    前端测试组件与端到端

    Testing Library 文本匹配中字符串、正则、函数三种 matcher 的匹配行为差异与大小写处理

    围绕“Testing Library 文本匹配中字符串、正则、函数三种 matcher 的匹配行为差异与大小写处理”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确默认整串精确匹配、正则部分匹配、函数自定义谓词的差异及 exact 参数作用。

    核心关键词Testing Library TextMatch 正则 函数 matcher
    #组件与端到端#测试
  9. 4309
    前端测试组件与端到端

    React Testing Library 中 userEvent 与 fireEvent 的区别是什么,为什么官方推荐 userEvent

    围绕“React Testing Library 中 userEvent 与 fireEvent 的区别是什么,为什么官方”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确 userEvent 模拟完整用户交互序列(hover、focus、逐字符输入)而 fireEvent 只派发单个事件。

    核心关键词Testing Library userEvent fireEvent 区别
    #组件与端到端#测试
  10. 4310
    前端测试组件与端到端

    Testing Library 的 waitFor 何时使用,它与 findBy 查询的重试机制有什么重叠与分工

    围绕“Testing Library 的 waitFor 何时使用,它与 findBy 查询的重试机制有什么重叠与分工”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确对非查询类断言的轮询重试用 waitFor、查找元素用 findBy 的分工。

    核心关键词Testing Library waitFor findBy 异步断言
    #组件与端到端#异步编程#测试
  11. 4311
    前端测试组件与端到端

    Testing Library 的 within 在什么场景比全局 screen 查询更可靠

    围绕“Testing Library 的 within 在什么场景比全局 screen 查询更可靠”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确将查询限定在某个容器子树内以避免重复元素冲突的场景与写法。

    核心关键词Testing Library within 局部查询
    #组件与端到端#测试#容器化
  12. 4312
    前端测试组件与端到端

    Vitest 中 jsdom 与 happy-dom 环境的选择依据是什么

    围绕“Vitest 中 jsdom 与 happy-dom 环境的选择依据是什么”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确 jsdom 兼容性更全、happy-dom 更快的取舍及切换配置方式。

    核心关键词Vitest jsdom happy-dom 环境 选择
    #组件与端到端#测试#构建工具
  13. 4313
    测试单元与集成测试

    设计属性测试的输入生成器时,如何让空值、极值、Unicode 等边界数据被充分采到?

    围绕“设计属性测试的输入生成器时,如何让空值、极值、Unicode 等边界数据被充分采到”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖回答生成器覆盖边界分布的方法。

    核心关键词fast-check arbitrary 边界生成
    #单元与集成测试
  14. 4314
    测试单元与集成测试

    断言 mock「被调用过」和「以特定参数调用」的说服力差异在哪,为什么参数断言更防回归?

    围绕“断言 mock「被调用过」和「以特定参数调用」的说服力差异在哪,为什么参数断言更防回归”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖回答交互契约的精确验证价值。

    核心关键词toHaveBeenCalledWith 参数断言
    #单元与集成测试
  15. 4315
    测试单元与集成测试

    自定义断言失败消息应该包含哪些信息才能让失败输出直接定位问题?

    围绕“自定义断言失败消息应该包含哪些信息才能让失败输出直接定位问题”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖回答期望值/实际值/上下文的呈现原则。

    核心关键词断言失败消息 可读性 设计
    #单元与集成测试
  16. 4316
    测试单元与集成测试

    单元测试里断言失败和普通代码抛异常有什么区别,为什么不能用 try-catch 代替断言?

    围绕“单元测试里断言失败和普通代码抛异常有什么区别,为什么不能用 try-catch 代替断言”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖回答断言库如何标记失败并聚合多个断言结果。

    核心关键词断言失败 异常 单元测试
    #单元与集成测试
  17. 4317
    测试单元与集成测试

    expect.any、expect.objectContaining 这类非对称匹配器何时该用,滥用会掩盖什么回归?

    围绕“expect.any、expect.objectContaining 这类非对称匹配器何时该用,滥用会掩盖什么回归”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖回答对不稳定字段放宽、对关键字段收紧的平衡。

    核心关键词expect.objectContaining 非对称匹配器
    #单元与集成测试
  18. 4318
    测试单元与集成测试

    beforeEach 和 beforeAll 建立测试环境时该如何选择,什么情况下 beforeAll 会破坏隔离?

    围绕“beforeEach 和 beforeAll 建立测试环境时该如何选择,什么情况下 beforeAll 会破坏隔离”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖回答每次重建与一次共享的成本/隔离权衡。

    核心关键词beforeEach beforeAll 区别 测试隔离
    #单元与集成测试
  19. 4319
    测试单元与集成测试

    为什么 afterEach 中清理比在被测代码里清理更可靠,清理遗漏会造成什么后果?

    围绕“为什么 afterEach 中清理比在被测代码里清理更可靠,清理遗漏会造成什么后果”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖回答失败路径下仍执行清理的保证与跨用例污染。

    核心关键词afterEach 清理 测试污染
    #单元与集成测试
  20. 4320
    测试单元与集成测试

    消费者驱动契约测试解决的是 mock 与真实服务之间什么具体的漂移问题?

    围绕“消费者驱动契约测试解决的是 mock 与真实服务之间什么具体的漂移问题”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖回答以契约文件校验双方期望、防止 mock 说谎的机制。

    核心关键词消费者驱动契约测试 mock 漂移
    #单元与集成测试
  21. 4321
    测试单元与集成测试

    契约测试能否替代跨服务的集成测试,两者各自覆盖不了的失败类型是什么?

    围绕“契约测试能否替代跨服务的集成测试,两者各自覆盖不了的失败类型是什么”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖回答 schema/语义校验与真实运行时行为(认证、数据状态)的边界。

    核心关键词契约测试 集成测试 区别
    #单元与集成测试
  22. 4322
    测试单元与集成测试

    契约测试中生产者端和消费者端各自验证什么,为什么只在一端验证不够?

    围绕“契约测试中生产者端和消费者端各自验证什么,为什么只在一端验证不够”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖回答请求符合约定与响应满足期望两个方向的互补。

    核心关键词契约测试 生产者 消费者 双向验证
    #单元与集成测试
  23. 4323
    测试单元与集成测试

    测试一个防抖输入框时用 fake timer 应验证哪几个时间点(未到间隔、恰好到间隔、连续触发)?

    围绕“测试一个防抖输入框时用 fake timer 应验证哪几个时间点(未到间隔、恰好到间隔、连续触发)”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖回答围绕时间窗边界的用例设计,不复述防抖实现原理。

    核心关键词防抖 测试 fake timer
    #单元与集成测试
  24. 4324
    测试单元与集成测试

    为什么测试数据要用固定种子或显式构造而不是 Math.random,随机数据带来的不可重复失败如何诊断?

    围绕“为什么测试数据要用固定种子或显式构造而不是 Math.random,随机数据带来的不可重复失败如何诊断”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖回答可重复性对二分定位与 CI 稳定性的意义。

    核心关键词测试数据 确定性 随机种子
    #单元与集成测试#CI/CD
  25. 4325
    测试单元与集成测试

    Vitest 中 expect.assertions() 和 expect.hasAssertions() 在异步测试里分别防止什么漏检?

    围绕“Vitest 中 expect.assertions() 和 expect.hasAssertions() 在异步测”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖区分强制断言数量与至少一次断言两类防护。

    核心关键词Vitest expect.assertions 异步断言漏检
    #单元与集成测试#异步编程#实时通信
  26. 4326
    测试单元与集成测试

    fake timer 开启后为什么有些测试会假死(例如等待真实请求超时),如何避免?

    围绕“fake timer 开启后为什么有些测试会假死(例如等待真实请求超时),如何避免”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖回答被替换时钟影响第三方库超时逻辑的诊断与 shouldAdvanceTime 选项。

    核心关键词fake timer 卡死 真实请求
    #单元与集成测试
  27. 4327
    测试单元与集成测试

    fake timer 下异步代码卡在 await 上时,runAllTimersAsync 与 advanceTimersByTimeAsync 分别解决什么问题?

    围绕“fake timer 下异步代码卡在 await 上时,runAllTimersAsync 与 advanceTim”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖回答定时器与微任务交错时的推进语义差异。

    核心关键词runAllTimersAsync 假定时器 微任务
    #单元与集成测试#异步编程
  28. 4328
    测试单元与集成测试

    Vitest 的 vi.useFakeTimers() 如何跳过 setTimeout 等待,为什么必须配合 advanceTimersByTime 而非直接 await?

    围绕“Vitest 的 vi.useFakeTimers() 如何跳过 setTimeout 等待,为什么必须配合 adv”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖回答替换时钟源后时间不再真实流逝的机制。

    核心关键词Vitest fake timers advanceTimersByTime
    #单元与集成测试#异步编程#构建工具
  29. 4329
    测试单元与集成测试

    vi.setSystemTime() 固定当前时间对测试 Date.now 依赖的代码(如过期判断)有什么价值,与时区问题的关系是什么?

    围绕“vi.setSystemTime() 固定当前时间对测试 Date.now 依赖的代码(如过期判断)有什么价值,与时”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖回答逻辑时钟固定的确定性收益。

    核心关键词vi.setSystemTime 固定时间 Date.now
    #单元与集成测试
  30. 4330
    测试单元与集成测试

    数据库类夹具选择「每用例全新数据」还是「共享只读基线数据」,各自适合什么测试目标?

    围绕“数据库类夹具选择「每用例全新数据」还是「共享只读基线数据」,各自适合什么测试目标”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖回答写操作测试需隔离、只读查询可共享的取舍。

    核心关键词测试夹具 共享数据 全新数据
    #单元与集成测试
  31. 4331
    测试单元与集成测试

    测试夹具(fixture)应该把环境搭建放在哪一层(每用例、每文件、全局),判断依据是什么?

    围绕“测试夹具(fixture)应该把环境搭建放在哪一层(每用例、每文件、全局),判断依据是什么”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖回答搭建成本与隔离需求决定夹具生命周期层级。

    核心关键词测试 fixture 分层 setup teardown
    #单元与集成测试
  32. 4332
    测试单元与集成测试

    Playwright 的 web-first 断言(如 toBeVisible)为什么会自动重试,这与普通 expect 断言的竞态差异是什么?

    围绕“Playwright 的 web-first 断言(如 toBeVisible)为什么会自动重试,这与普通 expe”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖回答轮询重试消除 UI 时序竞态的机制。

    核心关键词Playwright web-first 断言 自动重试
    #单元与集成测试#浏览器自动化
  33. 4333
    测试单元与集成测试

    对 CI 上的不稳定(flaky)测试,重试机制、隔离与修复三种处理策略该如何排优先级?

    围绕“对 CI 上的不稳定(flaky)测试,重试机制、隔离与修复三种处理策略该如何排优先级”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖回答重试只是止血、必须追根因的优先级判断。

    核心关键词flaky test 重试 隔离 修复
    #单元与集成测试#CI/CD
  34. 4334
    测试单元与集成测试

    需要模拟依赖第一次失败、第二次成功来测试重试逻辑时,mock 应如何表达调用序列并断言调用次数?

    围绕“需要模拟依赖第一次失败、第二次成功来测试重试逻辑时,mock 应如何表达调用序列并断言调用次数”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖回答 once 链与 toHaveBeenCalledTimes 的组合用法。

    核心关键词mock 模拟调用序列 测试重试逻辑
    #单元与集成测试
  35. 4335
    测试单元与集成测试

    mock、stub、spy 三者在验证行为上的分工差异是什么,什么场景必须验证交互而非状态?

    围绕“mock、stub、spy 三者在验证行为上的分工差异是什么,什么场景必须验证交互而非状态”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖回答行为验证与状态验证的分界。

    核心关键词mock stub spy 区别
    #单元与集成测试
  36. 4336
    测试单元与集成测试

    过度 mock 为什么会让测试在重构后大面积误报,判断该不该 mock 一条依赖的标准是什么?

    围绕“过度 mock 为什么会让测试在重构后大面积误报,判断该不该 mock 一条依赖的标准是什么”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖回答按可变性/外部性划依赖边界的标准。

    核心关键词过度 mock 脆弱测试 重构
    #单元与集成测试
  37. 4337
    测试单元与集成测试

    Vitest 并行执行测试文件时靠什么隔离模块状态,什么全局副作用仍会泄漏?

    围绕“Vitest 并行执行测试文件时靠什么隔离模块状态,什么全局副作用仍会泄漏”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖回答 worker 进程/线程隔离边界与文件系统、端口等共享资源风险。

    核心关键词Vitest 并行 隔离 worker 模块
    #单元与集成测试#构建工具#并发编程
  38. 4338
    测试单元与集成测试

    如何用 vi.importActual 只替换模块的一个导出而保留其余真实实现,这种做法的风险是什么?

    围绕“如何用 vi.importActual 只替换模块的一个导出而保留其余真实实现,这种做法的风险是什么”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖回答部分 mock 的写法与真实实现漂移风险。

    核心关键词Vitest vi.importActual 部分 mock
    #单元与集成测试#构建工具
  39. 4339
    测试单元与集成测试

    属性测试与示例测试的根本差异是什么,为什么「反序两次等于原数组」比固定用例更有覆盖力?

    围绕“属性测试与示例测试的根本差异是什么,为什么「反序两次等于原数组」比固定用例更有覆盖力”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖回答以不变量代替枚举输入的思维转换。

    核心关键词属性测试 property based testing 区别
    #单元与集成测试
  40. 4340
    测试单元与集成测试

    为排序函数写属性测试时,除了「结果有序」还应断言哪些不变量(长度守恒、多重集守恒)?

    围绕“为排序函数写属性测试时,除了「结果有序」还应断言哪些不变量(长度守恒、多重集守恒)”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖回答多个互补不变量共同约束实现正确性。

    核心关键词排序函数 属性测试 不变量
    #单元与集成测试
  41. 4341
    测试单元与集成测试

    单元测试为什么不应该发真实网络请求,违反后除了慢还有什么正确性风险?

    围绕“单元测试为什么不应该发真实网络请求,违反后除了慢还有什么正确性风险”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖回答外部不确定性导致的不可重复与误报。

    核心关键词单元测试 网络请求 隔离
    #单元与集成测试
  42. 4342
    测试单元与集成测试

    属性测试发现失败用例后的 shrink(收缩)过程在做什么,为什么它对定位根因至关重要?

    围绕“属性测试发现失败用例后的 shrink(收缩)过程在做什么,为什么它对定位根因至关重要”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖回答自动最小化反例的机制与诊断价值。

    核心关键词属性测试 shrinking 最小反例
    #单元与集成测试
  43. 4343
    测试单元与集成测试

    什么时候该用软断言(soft assertions)让一个用例报告多个失败,代价是什么?

    围绕“什么时候该用软断言(soft assertions)让一个用例报告多个失败,代价是什么”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖回答聚合失败与失败即停之间的诊断价值权衡。

    核心关键词软断言 soft assertions 使用场景
    #单元与集成测试#实时通信
  44. 4344
    测试单元与集成测试

    vi.spyOn 监视对象方法后为什么必须在测试间恢复,不恢复会引发什么跨用例污染?

    围绕“vi.spyOn 监视对象方法后为什么必须在测试间恢复,不恢复会引发什么跨用例污染”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖回答原型/实例方法被替换后的泄漏路径与 restoreMocks 配置。

    核心关键词Vitest spyOn restoreMocks
    #单元与集成测试#构建工具
  45. 4345
    测试单元与集成测试

    为什么单元测试之间必须相互独立,共享可变状态会导致哪些难以诊断的失败模式?

    围绕“为什么单元测试之间必须相互独立,共享可变状态会导致哪些难以诊断的失败模式”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖回答执行顺序耦合与隐式依赖的诊断难题。

    核心关键词单元测试 隔离性 共享状态
    #单元与集成测试
  46. 4346
    测试单元与集成测试

    发现一个测试单独运行通过、整套运行时失败,应按什么思路诊断顺序依赖?

    围绕“发现一个测试单独运行通过、整套运行时失败,应按什么思路诊断顺序依赖”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖回答二分定位与状态残留排查方法。

    核心关键词测试顺序依赖 单独运行通过 排查
    #单元与集成测试
  47. 4347
    测试单元与集成测试

    除了时间与时区,还有哪些环境因素(语言环境、区域格式、文件系统大小写)会让同一测试在不同机器结果不同?

    围绕“除了时间与时区,还有哪些环境因素(语言环境、区域格式、文件系统大小写)会让同一测试在不同机器结果不同”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖回答枚举隐式环境依赖并显式固定的方法。

    核心关键词测试可重复性 时区 locale 环境差异
    #单元与集成测试
  48. 4348
    测试单元与集成测试

    「测行为不测实现」原则下,哪些断言(调用内部私有方法、检查内部状态)属于脆弱的实现耦合?

    围绕“「测行为不测实现」原则下,哪些断言(调用内部私有方法、检查内部状态)属于脆弱的实现耦合”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖回答以可观察输出为断言目标的标准。

    核心关键词测试行为 不测实现 重构
    #单元与集成测试
  49. 4349
    测试单元与集成测试

    Testing Library 的 waitFor 与 findBy 查询都带等待,两者适用场景与超时失败信息有何不同?

    围绕“Testing Library 的 waitFor 与 findBy 查询都带等待,两者适用场景与超时失败信息有何不”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖回答任意条件轮询与元素出现等待的分工及失败可读性。

    核心关键词Testing Library waitFor 与 findBy 区别
    #单元与集成测试
  50. 4350
    测试单元与集成测试

    Vitest 的 toBe、toEqual、toStrictEqual 在比较对象和类实例时行为差异是什么?

    围绕“Vitest 的 toBe、toEqual、toStrictEqual 在比较对象和类实例时行为差异是什么”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖回答引用相等、递归相等与严格类型比较三档语义。

    核心关键词Vitest toBe toEqual toStrictEqual 区别
    #单元与集成测试#构建工具
上一页
1…8586878889…100
下一页
前端进阶之旅本地 Markdown 维护 · 服务端分页 · 完整内容对用户与搜索引擎一致