Kiểm thử đơn vị để phát triển plugin


17

Tôi cần áp dụng thử nghiệm đơn vị cho một trong các plugin của mình. Gần đây tôi đã thiết kế lại nó thành các lớp, vì vậy việc kiểm tra đơn vị sẽ dễ dàng hơn để áp dụng ngay bây giờ.

Một số chiến lược hiệu quả để kiểm tra đơn vị plugin của tôi là gì? Tôi cần một cách để sử dụng các chức năng của WordPress được sử dụng trong plugin, nhưng tôi không cần một trang web WordPress đang chạy (chỉ cần kiểm tra dữ liệu trên DB AFAIK), phải không?

Tôi có một thời gian khó khăn để tìm ra cách chỉ đơn vị kiểm tra plugin và không phải plugin trong bối cảnh của trang web. Tôi có thể sử dụng Selenium cho việc này, nhưng ngay bây giờ tôi chỉ muốn tập trung vào việc kiểm tra đơn vị chức năng của các lớp plugin, để tôi không phá vỡ chúng với mỗi bản cập nhật.

Câu trả lời:


14

Là một kỹ sư phần mềm cũ xây dựng các loại hình kinh doanh lớn, người đã tìm đến một công ty tương tác, tôi sẽ cho bạn một vài suy nghĩ về việc thử nghiệm khi phát triển cho Wordpress:

  1. Kiểm thử đơn vị của bạn nên kiểm tra lượng hành vi nhỏ nhất mà một lớp có thể thực hiện. Mỗi lớp sẽ có thể được kiểm tra độc lập với Wordpress. Nếu bạn có một phụ thuộc Wordpress, hãy cân nhắc việc tạo các đối tượng và / hoặc phương thức giả trong thử nghiệm của bạn để khắc phục điều này. Cuối cùng, điều này sẽ thay đổi cách bạn viết mã của mình một chút - nhưng nó sẽ dễ kiểm chứng hơn nhiều. Như thường lệ không có bữa trưa miễn phí.

  2. Khi bạn đạt đến mức kiểm tra chức năng, đây là lúc bạn có thể kiểm tra mã của mình với các phụ thuộc Wordpress. Đây là nơi bạn thực sự sẽ kiểm tra xem plugin của bạn có thực sự thực hiện một dịch vụ mà nó được cho là không.

  3. Tùy thuộc vào những gì plugin của bạn làm - hãy xem xét sử dụng các thử nghiệm dựa trên Selenium để kiểm tra sự hiện diện của dữ liệu trong DOM bằng cách sử dụng ID. Nó khá mạnh mẽ và ít có khả năng phá vỡ phiên bản thành phiên bản. Một lần nữa, mẹo ở đây là nghĩ về việc thử nghiệm như một phần trong vòng đời phát triển phần mềm của bạn. Những thay đổi lớn trong mã sẽ xếp tầng thành những thay đổi lớn trong các thử nghiệm của bạn. Tất cả các phần của chi phí kinh doanh.

Nếu bạn cần bất kỳ sự trợ giúp nào với bất kỳ công cụ nào để thực hiện điều này - tôi sẽ vui lòng trả lời nếu bạn mở ra một câu hỏi mới. Tôi sử dụng cả PHPUnit và phần mở rộng selen của nó trong công việc tôi làm.


1
Này Ethan, cảm ơn vì một câu trả lời chuyên nghiệp. Không thể mong đợi ít hơn từ cộng đồng này :) Tôi sẽ cố gắng viết Bài kiểm tra đơn vị cho các lớp của mình và tạo một số đối tượng giả để hoạt động xung quanh các chức năng của WordPress. Bước 2 là phần khó thực sự đối với tôi, vì tôi sẽ cần phải có một bản cài đặt WordPress cho một số loại thử nghiệm tự động, nơi tôi có thể bắt đầu sử dụng Selenium sau này. Tôi sẽ bắt đầu với PHPUnit và xem điều đó diễn ra như thế nào. Cảm ơn!
Fernando Briano

Câu trả lời hoàn hảo!
rsman


-1

Gần đây tôi đã tạo một hướng dẫn lấy thông tin từ googling của tôi, để chỉ cho bạn cách:

  1. Sử dụng lõi wordpress làm bài kiểm tra đơn vị
  2. Ẩn php không dùng nữa / phiên gửi cảnh báo
  3. Chỉ ra cách đặt tùy chọn plugin của bạn trong các thử nghiệm
  4. Sử dụng cùng một lõi wp để kiểm tra đơn vị để kiểm tra nhiều plugin

Hướng dẫn ở đây , tôi hy vọng nó sẽ giúp

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.