Tôi không biết cách chạy thử nghiệm Jasmine này cho JS của tôi và chắc chắn cũng ppl khác có vấn đề này. Có lẽ tôi đang làm sai hoặc có thể là không thể - tôi không tìm thấy bất kỳ gợi ý nào về điều này. Vấn đề phải làm với thực tế là - trong jQuery - $ (this) không giống như phần tử được chọn bởi ví dụ: $ ("# Này-id"):
Javascript:
[..]
$("#button-id").on("click", function(e) { callSomeFunctionWith($(this)); });
Jasmine-Test (CoffeeScript):
[..]
spyOn some.object, "callSomeFunctionWith"
spyOnEvent($("#button-id"), 'click')
$("#button-id").trigger("click")
expect(some.object.callSomeFunctionWith).toHaveBeenCalledWith($("#button-id"))
Đáng tiếc là thử nghiệm này không thành công (với bất kỳ biến thể như lưu trữ các ref để trong một biến đầu tiên trong bài kiểm tra Jasmine của tôi), bởi vì hàm KHÔNG được gọi với $ ("# button-id"), nhưng thay vào đó được gọi với $ (this), và $ (this)! = $ ("# button- ID").
Ai đó có thể cho tôi biết cách thực hiện bài kiểm tra này không? Tôi khá lạc. Ngay cả Remy Sharp's great article on jQuery and $(this) cũng không giúp tôi thêm nữa.