2009-06-21 32 views
14

Tôi đang tìm kiếm một khung công tác trưởng thành có thể thực hiện Javascript chế nhạo, đặc biệt là trên khu vực AJAX và JSON.JQuery Mocking

Có khung mocking hiện tại nào cho Javascript (và/hoặc JQuery) mà bạn đang sử dụng và có thể giới thiệu không?

Chỉnh sửa: Tôi đã đánh giá jqmockjqunit. Có vẻ như đó là khung duy nhất có thể thực hiện basic library mocking and stubbing nhưng không thể thực hiện cuộc gọi AJAX.

+1

http://msdn.microsoft.com/en-us/scriptjunkie/ff452703 có một bài viết tốt đẹp trên jQuery TDD – jamiebarrow

Trả lời

16

Dưới đây là một số liên kết có thể giúp bạn:

amok (tuyên bố để có hỗ trợ ajax)

fakequery

QUnit

JSMock

qMock

jqunit + jqmock


thử nghiệm javascript "khuôn khổ" Khác

jqunit

Jack

YUI Test

JSSpec

+0

thêm điên cuồng * đạt nhân vật giới hạn 15 * – jitter

+0

Chưa thử nhưng jquery-mockjax có thể tốt cho việc chế nhạo ajax? https://github.com/appendto/jquery-mockjax – Alexandra

4

Tôi thích mã mô-đun. Mã mô-đun dễ dàng giả lập!

var function fetchAjaxData(){ 
    // Perform ajax request. 
    // Call 'update' with the data in question. 
} 

var update = function(ajaxData){ 
    // do things with ajaxData 
} 

Với loại mã này, tất cả những gì bạn cần làm là gọi hàm 'cập nhật' để thực hiện yêu cầu ajax.

+0

… trừ khi mã bạn kiểm tra bị trừu tượng bên trong ví dụ: một IIFE và mở nó để thử nghiệm sẽ phá vỡ thiết kế miền. Vì vậy, một trong những xu hướng đi cho mocking của phụ thuộc tuyến đường, mà điều này sẽ được về. – Cornelius

2

Mocking cũng được bao gồm trong bài kiểm tra jasmine. tôi đã sử dụng nó bản thân mình để thử ra jQuery.ajax:

spyOn(jQuery, 'ajax').andCallFake(function(value) { 
    value.success(data); 
});