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

Dev: Ensure tests are run in random

Đang mở
#9,968 4 bình luận 1 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

@gr8man đang làm issue này rồi.

Từ ngày 23/9/2026.

  • #10581 của @gr8man — đang mở

Đánh giá

Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức phù hợp với người mới
45/100
Loại issue
Tái cấu trúc
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Ít trao đổi
Công nghệ
php
Lĩnh vực
testing

Hướng nghiên cứu

Bắt đầu với phpunit.xml và các khu vực thành phần chưa được đánh dấu được liệt kê trong issue, sau đó chạy các bài kiểm thử PHPUnit liên quan với executionOrder="random" để xác định các phần phụ thuộc vào thứ tự thực thi. Được xem là hoàn tất khi các bài kiểm thử của thành phần đã chọn đều vượt qua ở thứ tự ngẫu nhiên mà không có phần phụ thuộc ẩn; nỗ lực rộng hơn hoàn tất khi tất cả các khu vực được liệt kê đều đạt và phpunit.xml sử dụng chế độ thực thi ngẫu nhiên.

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

Mô tả

dev help wanted testing
PHP Version

8.5.0

CodeIgniter4 Version

4.7.1-dev

Per ChatGPT, tests need to run in random to enjoy the following benefits:

✔️ It reveals hidden dependencies
✔️ Forces true test isolation
✔️ Prevents flaky, misleading test results
✔️ Makes your test suite production-realistic

This issue has been initially tackled by #7717, but due to other complications it didn't fare well. As this is not a fairly easy task, I'm proposing we do it on pieces. Currently, our test suite runs in default order but should be random at some point (i.e., executionOrder="random").

Here's the plan, instead of one big PR changing all tests, we can do it by component (HTTP, Cache, Database, etc.). Then, after all tests run green on randomised testing, we set executionOrder in phpunit.xml to "random".

Please reference this issue for any PRs addressing pieces of this.

  • API: #9983
  • AutoReview: #10073
  • Autoloader: #10073
  • Cache
  • CLI:
    • #9998
    • #10014
  • Commands
  • Config
  • Cookie: #10073
  • Database
  • DataCaster
  • DataConverter
  • Debug
  • Email
  • Encryption
  • Entity
  • Events: #10073
  • Files: #10073
  • Filters: #10373
  • Format: #10073
  • Helpers
  • Honeypot
  • HotReloader: #10073
  • HTTP: #10372
  • I18n
  • Images
  • Language: #10073
  • Log: #10073
  • Pager: #10073
  • Publisher: #10073
  • RESTful: #10073
  • Router
    • #9967
  • Security
    • #9969
    • #10073
  • Session
  • Test
  • Throttle: #10073
  • Typography: #10073
  • Validation
  • View: #10073
Ngôn ngữ chính
PHP
Star
6k
Fork
2k
Merge trung bình
1 ngày 22 giờ
Pull request đã merge (30 ngày)
59

Chuẩn bị môi trường

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 codeigniter4/CodeIgniter4

Tất cả issue của codeigniter4/CodeIgniter4

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.