Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

Tracking: Test generator MVP

Đang mở
#631 2 bình luận 1 reaction 1 người được giao Xem trên GitHub

@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 configlet cached 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>test and 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); and assertSame($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 slug required 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 the configlet scheme (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:

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

Mở trong Codespaces

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

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. 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.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của exercism/php

Tất cả issue của exercism/php

Issue tương tự

Thêm issue về PHP

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.