2014-10-16 19 views
11

Tôi mới thử nghiệm nói chung và đã tự dạy mình Jasmine. Tôi đang cố gắng để hiểu sự khác biệt giữa chạy Jasmine và jQuery-Jasmine trong Karma vs chạy Jasmine của chính nó. Các hướng dẫn cho Jasmine không giải quyết những điều chỉnh cần thiết nếu sử dụng Karma.Jasmine độc ​​lập vs Karma - Jasmine

Ai đó có thể giải thích cho tôi cách Karma-Jasmine khác với yêu cầu từ Jasmine độc ​​lập? Liệu nó vẫn yêu cầu một nhân vật đặc tả, và cấu trúc tệp vẫn giống nhau không?

Tôi đang thử nghiệm các sự kiện DOM - nhiều trình xử lý nhấp chuột - và không hiểu cách giả lập điều này. Ai đó có thể phác thảo một số ý tưởng cơ bản? Ví dụ: nếu tôi muốn, hãy kiểm tra xem phần tử p đã được thêm vào div sau khi người dùng nhấp vào một nút hay chưa, điều đó sẽ hoạt động như thế nào trong cả cấu trúc tệp và chức năng?

Cảm ơn.

Trả lời

2

Tôi chưa sử dụng hoa nhài-jquery, nhưng đối với các thử nghiệm hoa nhài với Karma, Karma sử dụng số karma.conf.js để khám phá các phụ thuộc bên ngoài (chẳng hạn như hoa nhài-jquery). Riêng là files property. Một số ví dụ điển hình là here Nếu bạn đang chạy thử nghiệm hoa nhài với SpecRunner.html của hoa nhài, bạn cần đảm bảo mọi thứ bạn sử dụng được liên kết trong thẻ SpecRunner.html với thẻ tập lệnh.

Để kiểm tra trình xử lý nhấp chuột, một đặt cược tốt có thể chỉ để gọi trực tiếp các chức năng xử lý nhấp chuột. Nghe có vẻ như nếu bạn muốn một cái gì đó thực tế hơn, bạn đang tiến gần hơn đến thử nghiệm chức năng. Đối với điều đó, bạn có thể xem xét việc kết hợp các số điện thoại nightmare để tự động tương tác của người dùng, chẳng hạn như nhấp chuột, v.v.

8

SpecRunner.html của Karma và Jasmine đều là người chạy thử nghiệm (còn gọi là người chạy thử). Sự khác biệt giữa hai là Karma là một ứng dụng chạy bên ngoài trình duyệt, trong khi SpecRunner là một tệp HTML bình thường với một loạt các tham chiếu tập lệnh mà bạn mở trong trình duyệt.

Một Á hậu thử nghiệm mà sống bên ngoài trình duyệt cung cấp cho bạn một số lợi ích:

+0

thx đã giúp tôi. @ user2943490 Bạn đã bao giờ sử dụng nghiệp mà không có một công cụ xây dựng? Giống như Grunt hoặc Gulpjs thích hiểu với một ví dụ. - Cheers – jamie

+0

@jamie Karma là module npm độc lập và không phụ thuộc vào Grunt hoặc Gulp (bạn chỉ cần chạy Karma từ bàn điều khiển với 'karma start'), vì vậy bạn đang chạy nó mà không có bất kỳ công cụ xây dựng nào theo mặc định. Nếu bạn có ý nghĩa * với * một công cụ xây dựng, có sẵn các plugin, ví dụ [gulp-karma] (https://www.npmjs.com/package/gulp-karma) – user2943490

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