- 博客(15)
- 收藏
- 关注
原创 junit5测试顺序
如果你确实需要控制测试方法的执行顺序(常见于集成测试、端到端测试),使用 @TestMethodOrder 注解。@Order 注解可以直接用于同一个类中的多个 @BeforeEach 方法,无需任何类级别注解。接口次之:如果实现了接口,接口中的 @BeforeEach 默认方法在父类之后、子类之前执行。父类优先:父类的 @BeforeEach 永远在子类的 @BeforeEach 之前执行。同类无序:同一个类中如果有多个 @BeforeEach 方法,它们的顺序不确定。同类中多个生命周期方法的顺序控制。
2026-07-10 14:00:35
349
原创 junit参数化测试(@ParameterizedTest)
使用可以为每次测试调用生成有意义的显示名称,便于阅读测试报告。java{index}: 当前调用的索引(从1开始)。{0}{1}, …: 对应索引的参数值。: 所有参数的完整列表。: 测试方法的显示名称。
2026-06-30 10:45:24
300
原创 junit5->assertAll()
当测试中某个断言失败时,JUnit 会停止执行后续断言。如果您希望确保所有断言都得到检查,而不管个别断言是否失败,请使用 assertAll() 对分组断言进行处理。
2026-06-23 15:20:41
205
原创 断言消息可以以 lambda 表达式的形式提供,以避免断言通过时产生的计算开销
对比维度 直接传值 calculator.divide(…) 传入 Lambda () -> calculator.divide(…)编译结果 生成 invokevirtual 指令,直接调用除法方法 生成 invokedynamic 指令,创建一个 Executable 实例JVM 执行时机 在调用 assertThrows 之前(作为参数求值)立即执行 只在 assertThrows 内部调用 execute() 时才执行。
2026-06-23 14:36:39
184
原创 产品经理概念起源
标志性事件:麦克尔罗伊撰写了一份著名的内部备忘录,提出了 “一个人负责一个品牌”(Brand Man) 的构想。因此,虽然最初的头衔是“品牌人”或“品牌经理”,但这一职位和理念被认为是现代“产品经理”的雏形和直接起源。核心理念:设立专门的品牌经理(Brand Man),对一个品牌或产品负全责,统筹其所有事务。关键人物:宝洁公司的员工尼尔·麦克尔罗伊(Neil H. McElroy)。不过,也有资料将其追溯到1927年或1932年。历史地位:麦克尔罗伊本人也成为了历史上第一位“产品经理”。
2026-06-18 09:35:53
187
原创 mock接口测试
做接口测试的时候,有些接口里面又调用了第三方的接口。有时不支持直接调用第三方接口或者本次并不是要测试第三方接口,只是想要第三方接口返回的数据,那么此时就需要去mock第三方接口的数据。WireMock(https://github.com/wiremock/wiremock) 选择性mock+兜底真实代理选择这个方案的原因:在最上层的时候也调用了被测接口里面包含的第三方接口,但是上层并不想走mock核心原理及职责WireMockConfig职责: 启动WireMock服务,监听在端口8089配置:
2026-05-09 14:30:20
47
原创 HTTP 请求详解以及测试角度
HTTP 请求与测试要点摘要 HTTP协议是应用层请求/响应模型,测试需关注请求语义、状态码、头信息、请求体等是否符合约定。关键测试点包括: 请求组成测试:验证方法、URL、头信息、请求体的正确性,包括编码、长度、类型等 方法语义测试:区分GET(安全幂等)、POST(非幂等)、PUT(幂等非安全)等方法的应用场景,验证其副作用和幂等性 状态码测试:确保2xx/3xx/4xx/5xx状态码正确反映业务结果,避免所有异常返回200 幂等性测试:验证PUT/DELETE等方法多次调用效果一致,POST方法需防重
2026-05-07 09:20:54
141
原创 真假分页测试
真分页:每次只查询并加载当前页需要的数据,而非全部数据假分页:一次性加载所有符合条件的数据到内存(前端或后端缓存),再在内存中截取显示。
2026-05-02 20:03:04
256
原创 dubbo接口测试
设计模式应用场景代码体现简化 Dubbo 复杂 API封装底层调用流式 API 构建链式调用配置优先级策略URL/Group 的多级查找配置加载流程定义加载顺序。
2026-04-26 15:49:16
385
原创 通过homebrew安装node以及版本切换
安装完成后,需要将 NVM 添加到 shell 配置文件中(如 .zshrc 或 .bash_profile)。NVM 是管理多个 Node 版本的专业工具,可以通过brew安装。
2026-04-17 15:42:09
67
原创 mysql存储过程
啥是存储过程?解:存储过程是一种在数据库中存储复杂程序,方便外部程序去调用的一种数据库对象。为啥要写存储过程?解:你问俺为啥要写存储过程,俺只想说是为了方便测试,提高效率。(这只是对自己目前可以用到的地方来说啦)------ 下面来正经说一下为啥要写存储过程啦 ------写存储过程是为了完成特定功能的sql语句集,经过编辑创建并且保存在数据库中,用户可以通过指定存储过程的名字并且给...
2020-07-01 21:13:32
146
原创 Mysql函数汇总
字符串函数合并字符串函数CONCAT()和CONCAT_WSCONCAT()函数定义为:CONCAT(S1,S2,…SN)将传入的参数连接起来返回所合并的字符串类型数据。如果其中一个参数为null,则返回值为nullSELECT CONCAT(‘my’,‘null’); – 返回结果为:mynullSELECT CONCAT(‘my’,‘s’,‘ql’,NULL); – 返回结果为:...
2020-06-23 22:27:02
211
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅