Nếu bạn đang tìm cách thử nghiệm các tiện ích GWT riêng biệt, không có nhiều tùy chọn. Bạn có thể sử dụng GWTTestCase để khởi tạo các tiện ích của mình và kiểm tra nó thông qua API của nó, đó là những gì Google thực hiện cho các tiện ích GWT: Source for RadioButtonTest
Tuy nhiên, cơ chế kích hoạt sự kiện không hoạt động trong GWTTestCases, có nghĩa là bạn có thể không làm những việc như bấm một nút lập trình và mong đợi một số phương thức gọi lại onClick() được gọi trên một người nghe. Nó cũng là khó nếu không phải là không thể có được ở DOM cơ bản, vì vậy nó có thể không phải là công cụ tốt nhất để thử nghiệm mã phát ra HTML ở mức độ thấp.
Có vẻ như bạn đang theo dõi tất cả các bước phù hợp; Bài viết của Rob cung cấp một mô tả tuyệt vời về cách viết mã có thể kiểm tra bằng cách sử dụng mẫu thiết kế Model-View-Presenter (MVP). Bạn càng giữ được nhiều lớp logic hơn, thì càng tốt. Khi điều đó là không thể, hãy sử dụng một công cụ như Selenium để tạo các bài kiểm tra tập trung của hành vi UI động.
Tôi đã theo một chiến lược tương tự - MVP với mã tối thiểu trong các tiện ích. Trong một vài trường hợp, tôi đã viết một số mã sẽ bao bọc lớp Grid, vì vậy tôi có thể khởi tạo thành phần của mình trong GWTTestCase, chuyển nó một Grid, gọi một số phương thức trên thành phần của tôi và kiểm tra trạng thái của Grid. Tôi đã viết một bài viết cho phần mềm tốt hơn về GWT thử nghiệm đầu tiên, mà bạn có thể đọc on my blog. Nếu bạn đang tìm cách kiểm tra mã sử dụng các lớp GWT không phải UI (như mã hóa URL hoặc Từ điển), bạn sẽ cần sử dụng GWTTestCase hoặc làm theo các chiến lược gói tương tự cho đến khi mã quá đơn giản để phá vỡ . Sau đó, sử dụng một bài kiểm tra tích hợp với một công cụ như Selenium, hoặc một vài GWTTestCases nhắm mục tiêu mà chỉ kiểm tra rằng bạn đang sử dụng thư viện chính xác - như J.B. Rainsberger nói, "Đừng kiểm tra khung!"
Nguồn
2009-01-06 02:39:47
Chỉ cần 2 xu của tôi về báo trước cần thiết để chạy một số thử nghiệm GWT JUnit đã sử dụng JMock trong Eclipse: Tôi cần thêm gwt-dev.jar vào đường dẫn lớp của một số lớp thử JUnit cụ thể sử dụng JMock; trước khi làm như vậy, các lớp như vậy có lỗi này: java.lang.NoClassDefFoundError: com/google/gwt/core/shared/GWTBridge – cellepo