Kiểm tra đơn vị, ít nhất là từ quan điểm phát triển ứng dụng web, thực sự không thể bao gồm thiết kế giao diện người dùng. Kiểm tra đơn vị nào có thể giúp bạn là kiểm tra đầu vào/đầu ra của tất cả các phương pháp điều khiển của bạn và/hoặc bất kỳ chức năng đơn lẻ/toàn cục nào bạn có xung quanh. Vì vậy, nếu bạn muốn nhận được phạm vi kiểm tra đơn vị về xác thực biểu mẫu của mình, hãy đảm bảo rằng ứng dụng của bạn được cấu trúc theo cách bạn có thể kiểm tra chức năng xác thực của mình độc lập với giao diện người dùng.
class SomeController extends ... {
... function isAPhoneNumber($string){
if(...) {
return true;
}
else (...) {
return false;
}
}
}
Điều này làm cho tất cả mã nhận giá trị của bạn cho phương pháp này chưa được kiểm tra.Cách hiệu quả duy nhất mà tôi đã thấy khi thử nghiệm này là kiểm tra giao diện người dùng trực tiếp bằng các điều khiển từ xa của trình duyệt như Selenium. Các PHPUnit testing framework có móc để sử dụng trình điều khiển PHP của Selenium, có nghĩa là bạn có thể sử dụng cùng một thử nghiệm Á hậu như các bài kiểm tra đơn vị khác của bạn.
Bạn sẽ không bao giờ được đảm bảo 100% rằng một thay đổi ngây thơ sẽ không làm bài kiểm tra Selenium của bạn, nhưng có những bước bạn có thể thực hiện trong quá trình phát triển để giảm thiểu điều này. Selenium có various different ways để "nhắm mục tiêu" phần tử mà nó sẽ nhấp vào hoặc nhập. Bạn muốn sử dụng nhắm mục tiêu càng cụ thể càng tốt, vì vậy hãy cố gắng cung cấp cho tất cả các nút (X) HTML của bạn một phần tử ID duy nhất. Điều này đảm bảo rằng selen sẽ nhấp vào một liên kết bất kể nó kết thúc ở đâu trên một trang. Khi một id duy nhất là không thể, hãy cố gắng bọc các phần tử phổ biến với một số phần tử HTML có một mã định danh duy nhất, và sau đó sử dụng khả năng xpath tarpath của selen để nói "nhấp vào liên kết chứa văn bản" đăng ký "nằm trong div có id là "foo" hoặc nhấp vào liên kết thứ ba trong div có id là "foo".
Nếu không rõ ràng từ các mục ở trên, không dựa vào lựa chọn nhắm mục tiêu mà Selenium IDE Mục tiêu của họ là đảm bảo rằng chạy thử nghiệm trên trang chính xác đó sẽ cho bạn kết quả tương tự, có thể cung cấp cho bạn xpath rất mỏng manh. Luôn xem xét các bài kiểm tra bạn ghi lại và nhắm mục tiêu sửa lỗi.
Không có câu trả lời dễ dàng ở đây. Nếu có, các ứng dụng web sẽ ít bị lỗi hơn nhiều.
Nguồn
2009-04-29 20:09:59
http://stackoverflow.com/questions/570451/how-to-best-do-unit-testing-for-a-web-application –