2010-09-18 21 views

Trả lời

4

Có nhiều cách khác nhau.

Nếu bạn muốn thử nghiệm chức năng (như người dùng), hãy sử dụng một cái gì đó như Selenium hoặc Watir. Điều này sẽ hoạt động thông qua trang web của bạn với tư cách là người dùng và thực thi mã JavaScript và mã phụ trợ.

Nếu bạn chỉ muốn kiểm tra JavaScript của mình, tôi sẽ sử dụng JSTestDriver. Nó cho phép bạn kiểm tra đơn vị JavaScript của bạn. Nó không hỗ trợ các cuộc gọi async nhưng có thể thực hiện kiểm tra.

+2

JsTestDriver hiện hỗ trợ kiểm tra cuộc gọi không đồng bộ! Xem http://code.google.com/p/js-test-driver/wiki/AsyncTestCase – mistaecko

7

Có một công cụ mới được phát hành gần đây có tên là Siesta. Nó hướng tới Ext JS một cách cụ thể (mặc dù cũng có thể kiểm tra bất kỳ mã JS nào) và nó rất phù hợp để kiểm tra mã Ext JS UI vì nó có sẵn mô phỏng và ghi lại sự kiện Ext JS.

Tôi cũng sử dụng cá nhân Jasmine để thử nghiệm đơn vị của mình, cũng như nhóm Ext JS nội bộ, mặc dù nó không đặc biệt phù hợp với kiểm tra giao diện người dùng (rất tuyệt vời để thử nghiệm mã).

4

Tôi vừa chạy ngang qua Siesta, dành riêng cho ExtJS. Có vẻ đầy hứa hẹn. Đó là những gì nhóm Ext đã sử dụng để kiểm tra API của họ khi di chuyển từ v3 sang v4.

0

Tìm thấy trang này hữu ích trong khi điều chỉnh nền tảng thử nghiệm cho dự án ExtJS GUI của doanh nghiệp từ đầu. Dưới đây là bản cập nhật addon và topic và lựa chọn cuối cùng của chúng tôi, dựa trên trải nghiệm vài ngày. Tôi hy vọng ai đó tiết kiệm thời gian, lựa chọn và thoát khỏi các lỗi kiểm tra đầu tiên.

Nỗ lực đầu tiên là vặn mọi thứ bên trong Netbeans và sử dụng công cụ jsTestDriver tích hợp sẵn với hỗ trợ thư viện Jasmine mặc định. Thành công, nhưng như Jasmine chủ yếu là đơn vị (cô lập mã khối) thử nghiệm, chúng tôi có thể rút ra một đối tượng javascript bình thường, nhưng không thành công trong việc rút ra các thành phần Ext và do đó nội dung của nó. Chúng tôi đã cố gắng nhập thư viện Siesta bằng cách sử dụng cùng một phương pháp chuẩn (trong tệp jsTestDriver.conf), đã thấy nó thông qua hoàn thành mã, nhưng vẫn không có sự trợ giúp nào với các đối tượng ExtJS. Tôi tìm thấy trên Diễn đàn Siesta, rằng có một số khác biệt chính trong kiến ​​trúc giữa Siesta và jsTestDriver, vì vậy chúng tôi quyết định từ bỏ tiết kiệm thời gian.

Vì Siesta là lựa chọn hiển nhiên nhất cho một dự án như vậy, bước tiếp theo là thực hiện chính xác sau Brynthum tutorial gốc. Mặc dù nó không phải là thích hợp hơn để đi ra ngoài IDE và nhân cửa sổ sản xuất với một mất tích hợp.

Quan trọng, hướng dẫn Brynthum cũng có một mẹo. Sau khi vượt qua bài kiểm tra đầu tiên của bạn trong Brynthum Harness Browser, bạn không thể thấy chi tiết kiểm tra ở bên phải và phải đối mặt với lỗi trình duyệt Uncaught TypeError: Không thể đọc thuộc tính 'parentNode' của null. Lý do là thư viện ExtJS cho Brynthum Harness Browser phải bắt buộc phải có phiên bản thư viện Siesta tương ứng. Hiện tại Siesta 2.0.5 = Ext 4.2.0. Đối với mục đích dự án của bạn, phiên bản thư viện ExtJS khác có thể được tải lên trong tập tin cấu hình.

Các vấn đề liên quan