Tracking: Test generator MVP
@mk-mxp đang làm issue này rồi.
Từ ngày 23/2/2024.
Đánh giá
Issue này chưa được đánh giá.
Mô tả
Test generator MVP to use after configlet generate for practice exercises:
- #638 Integrate POC test generator into new directory
contrib/generator, so it is not installed in CI - #638 Add a parameter to choose the exercise by slug
- #638 Use local
configletcached problem specification repository as information source - #663 Do not do anything, if exercise has no canonical-data (there are some)
- #663 Use
/exercises/practice/${slug}/.meta/config.json>files>testand check that there is only one entry - #638 Write tests to already created
/exercises/practice/${slug} - #638 Have test class skeleton
- #663 Have test class DocBlock with "PHP track rules"
- #638 Have testdox with description
- #638 Have UUID in DocBlock
- #638 Have all tests marked incomplete
- #663 Have
$input,$expected - #663 Have
$subject = new ${PascalSlug};,$actual = $subject->${property}($input);andassertSame($expected, $actual); - #663 Handle unknown data, so the user can act on it
- #663 Handle nested groups of tests
- Bonus: Add composer script to handle exercise generation from scratch. The problem is handling the
slugrequired for exercise generation. That requires some additional scripting, so that only those commands get the slug that need it and the others do not fail. - #663 adds unit tests, but no integration tests
Bonus: Add golden tests for test generation of some exercises - #663 handles unknow data instead
Bonus: Add JSON validation using theconfigletscheme (if that exists), else at least field existance and character sets - Bonus: Add PHP CodeSniffer (with rules for test-generator only) and more static analysis
Not MVP:
- Producing production ready tests
- scenarios
- Reimplementation
- Ignoring tests marked with
include = falseintests.toml
Open questions:
- Should it be a single command app or do we want to add more commands like
update-exercise(or so)? - Should we use another code producer library like
laminas/laminas-code?
- Ngôn ngữ chính
- PHP
- Star
- 167
- Fork
- 150
- Merge trung bình
- 22 giờ 18 phút
- Pull request đã merge (30 ngày)
- 7
Chuẩn bị môi trường
Khởi chạy dev container của dự án ngay trên trình duyệt, bằng tài khoản GitHub của bạn.
- Không có Dockerfile hay tệp Docker Compose
- Không có mẫu pull request
- Không có 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 exercism/php
-
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 20/100
-
Re-design `allergies`Đang mở
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 25/100
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 35/100
-
Discussion: Test generator designCó thể làm lại được @mk-mxp đã nhận 375 ngày trước và không có pull request nào đang mở. Đang mở
-
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 20/100
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 66/100
Automattic/blocks-engine#2866 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 62/100
community-scripts/ProxmoxVE#17944 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 62/100
EasyCorp/EasyAdminBundle#7861 · 2 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Good first issue: add laravel-inertia stack budget preset (Laravel 11 + Inertia.js + PHP 8.3)Đang mởenhancement good first issue help wanted
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
-
backend gamification P0
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 66/100
semanadeinformatica/website#461 ·