PHP thử nghiệm đơn vị WordPress?


8

Đưa ra cách WordPress được viết và cách nó tương tác với cơ sở dữ liệu và đưa ra cách OOP không được định hướng nhiều, có cách nào để kiểm tra đơn vị một chủ đề không? Có cách nào đơn vị kiểm tra một khung (không phải khung chủ đề) tương tác với WordPress, ví dụ: bạn có thể viết một bài kiểm tra đơn vị để xử lý vòng lặp, xử lý các widget không?

Nếu có ai có bất kỳ ví dụ? Tôi biết cách viết bài kiểm tra đơn vị, nhưng tôi chưa bao giờ thử viết một bài cho một chủ đề.

Suy nghĩ?

Câu trả lời:


5

Không có gì ngăn bạn viết bài kiểm tra đơn vị của riêng bạn cho các chủ đề / plugin bằng PHPUnit hoặc một số nền tảng thử nghiệm khác.

Đối với WordPress, nó có một Bài kiểm tra đơn vị chính thức tại đây:

Có một số tập lệnh xây dựng có thể tự động hóa kiểm thử đơn vị được tìm thấy ở đây, bao gồm WP-CLI đã được xây dựng trong kiểm thử đơn vị, mặc dù bạn rõ ràng phải viết mã của riêng mình.

Tôi cũng đã tìm thấy plugin này ngày hôm nay thông qua twitter của scibu :)
http://wordpress.org/extend/plugins/razor/
Có một vài cái nữa trong repo:
http://wordpress.org/extend/plugins/tags/phastait

Ngoài ra, hãy kiểm tra điều này : Hướng dẫn kiểm tra đơn vị trong WordPress và cho unit-test.svn.wordpress.org?


3

Tôi đã viết thư viện thử nghiệm PHPunit do Travis-CI cung cấp cho JigoshopTải xuống kỹ thuật số dễ dàng cả hai đều là các plugin WP thương mại điện tử được phát triển trên Github. Thư viện sử dụng có thể dễ dàng chuyển đổi để làm việc cho các chủ đề. Điều thú vị về bộ công cụ Travis-CI là chúng ta có thể sử dụng nó để nhanh chóng kiểm tra nhiều phiên bản PHP và WP. Nếu chủ đề của bạn là một chủ đề cao cấp, và do đó, đưa nó vào một repo Github miễn phí không phải là một tùy chọn, bộ phần mềm hoạt động trên repos Private Github với Travis-CI.

Ngoài ra, bạn có thể sử dụng cái được tìm thấy trong Jigoshop và sử dụng PHPUnit được cung cấp dòng lệnh.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.