Hypothesis integration
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức phù hợp với người mới
- 25/100
Hướng nghiên cứu
Bắt đầu bằng cách đọc returns/contrib/hypothesis/laws.py được tham chiếu và so sánh nó với các kiểm tra typeclass và mypy hiện có trong dự án này. Xác định chiến lược check_typeclass được đề xuất cùng các tùy chọn allow_instances, allow_protocols và allow_unknown, sau đó xác minh rằng các trường hợp được hỗ trợ tạo ra các kiểu trả về hợp lệ và các trường hợp không được hỗ trợ tạo ra NotImplementedError.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Right now we don't test classes with hypothesis at all.
But, I have a great idea (at least it seems to me like so) of adding a hypothesis plugin, similar to one we have in returns: https://github.com/dry-python/returns/blob/master/returns/contrib/hypothesis/laws.py
What should it do?
check_typeclass(typeclass_instance)will check that for all existing types and protocols some valid return type is produced. For example,@typeclass def some(instance) -> strmust producestrfor allinstance,protocol, and supported types and it must produceNotImplementedErrorfor types that are not supported- Looks like
check_typeclassmust haveallow_instances,allow_protocols,allow_unknownkwboolarguments to configure what types we actually need in a resulting strategy
It would be a nice companion to our mypy check.
@Zac-HD do you like it? Maybe you have any other ideas?
- Ngôn ngữ chính
- Python
- Star
- 730
- Fork
- 30
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của dry-python/classes
-
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 35/100
dry-python/classes#496 ·
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 45/100
dry-python/classes#494 ·
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 52/100
dry-python/classes#492 · 2 bình luận ·
-
bug
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 35/100
dry-python/classes#481 · 5 bình luận · 4 reaction ·
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 35/100
dry-python/classes#386 ·
Tất cả issue của dry-python/classes
Issue tương tự
-
enhancement
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
canonical/paas-charm#368 · 1 bình luận ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
-
tech debt
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
-
addition to tracking list Đang mở
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 90/100
StevenBlack/hosts#3256 ·
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 90/100
qualcomm/qai-appbuilder#275 ·