apache / apache/servicecomb-java-chassis

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

Đang mở
#3,739 2 bình luận 0 reaction 0 người được giao Xem trên GitHub
Ngôn ngữ chính
Java
Star
1.9k
Fork
814
Merge trung bình
8 ngày 23 giờ
Pull request đã merge (30 ngày)
1

Mô tả

问题出在 `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

Hướng dẫn đóng góp

Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này

Hướng nghiên cứu

Mở transport-rest/transport-rest-client/src/test/java/org/apache/servicecomb/transport/rest/client/http/TestRestClientInvocation.java và kiểm tra testSetCseContext_enable_unicode cùng testSetCseContext_disable_unicode. Trước tiên, hãy lần theo cách invocation.getContext() được mock, sau đó chạy các test này và xác nhận rằng các assertion của chúng kiểm tra trạng thái do method tạo ra thay vì giá trị trả về được mock. Hoàn tất khi cả hai test đều xác minh một cách có ý nghĩa hành vi của Unicode context trên các branch 1.3.x và 2.8.x.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
java
Lĩnh vực
testing
Loại issue
Lỗi
Độ khó
2/5
Thời gian dự kiến
1-3 giờ
Mức độ hoạt động
Đình trệ
Độ rõ ràng
Đặc tả rõ ràng
Mức phù hợp với người mới
35/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.