apache / apache/servicecomb-java-chassis

TestRestClientInvocation的单元测试无法有效验证功能

未关闭
#3,739 2 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
主要语言
Java
星标
1.9k
派生
814
平均合并
8 天 23 小时
30 天内合并 PR
1

描述

问题出在 `TestRestClientInvocation` 的 `testSetCseContext_enable_unicode` 方法和 `testSetCseContext_disable_unicode` 方法中, 两个方法都是开头对`invocation.getContext()`进行mock, 结尾又调用`invocation.getContext()`获取结果进行校验, 获取的结果就是mock返回, 所以达不到测试的预期效果. 1.3.x 和 2.8.x 分支均有此问题, 建议优化一下UT代码.

https://github.com/apache/servicecomb-java-chassis/blob/21d4b4863b71332f151eb63020f4e9ac51583002/transports/transport-rest/transport-rest-client/src/test/java/org/apache/servicecomb/transport/rest/client/http/TestRestClientInvocation.java#L282-L346

贡献指南

这个仓库没有索引到贡献指南

调研方向

打开 transport-rest/transport-rest-client/src/test/java/org/apache/servicecomb/transport/rest/client/http/TestRestClientInvocation.java,检查 testSetCseContext_enable_unicode 和 testSetCseContext_disable_unicode。首先跟踪 invocation.getContext() 是如何被 mock 的,然后运行这些测试,并确认它们的 assertions 检查的是方法产生的状态,而不是 mock 的返回值。完成标准是两个测试都能有意义地验证 1.3.x 和 2.8.x 分支上的 Unicode context 行为。

由索引模型根据 Issue 内容生成。

评估

技术栈
java
领域
testing
Issue 类型
缺陷
难度
2/5
预计耗时
1-3 小时
活跃度
停滞
描述清晰度
描述清楚
新手友好度
35/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。