2012-09-24 36 views
25

Tôi đang sử dụng Chutzpah để thực hiện các kiểm tra đơn vị JavaScript của mình.Làm cách nào để gỡ lỗi JavaScript của tôi đang được thực thi bởi Chutzpah/PhantomJS

Tôi tham chiếu đường dẫn đến tệp nguồn của mình và dưới đây có một loạt các thử nghiệm. Text Explorer trong Visual Studio liệt kê các thử nghiệm của tôi và tôi có thể thực thi chúng trực tiếp từ IDE, vì vậy mọi thứ có vẻ hoạt động chính xác.

Tuy nhiên, tôi muốn bước vào mã nguồn đang được thực hiện khi các thử nghiệm của tôi được chạy.

Điều này có khả thi không?

Trả lời

36

Cập nhật: Phiên bản 4.1.0 của Chutzpah thêm tích hợp VS debugging.

enter image description here


Đây không phải là hiện nay có thể sử dụng sự gan dạ. Điều tốt nhất bạn có thể làm là cài đặt context menu extension sẽ thêm tùy chọn nhấp chuột phải "Mở trong trình duyệt". Sau đó, bạn có thể sử dụng công cụ gỡ lỗi được tích hợp sẵn của trình duyệt để duyệt qua mã.

Tôi rất muốn thêm một cách tích hợp để cắm vào hệ thống gỡ lỗi VS nhưng chưa tìm ra cách thực hiện điều đó.

+2

này đã làm việc cho tôi, sử dụng Chrome. Tôi thiết lập một điểm dừng, sau đó đã làm một trình duyệt làm mới. Để gỡ lỗi TS trực tiếp (thay vì javascript được tạo), hãy bật tính năng "bản đồ nguồn" trong cài đặt công cụ chrome dev (biểu tượng bánh răng ở phía dưới bên phải). –

+0

Tình trạng này có thay đổi sau đó không? Bạn đã quản lý để tích hợp vào Visual Studio gỡ lỗi? – julealgon

+1

Plugin menu ngữ cảnh không tải được trong trình duyệt nếu đường dẫn dự án có khoảng trống trong đó, ví dụ: "... \ Visual Studio 2013 \ Project \ ..." –

0

Có lẽ điều này có thể chỉ cho bạn đi đúng hướng:

tôi đã thực hiện một cài đặt đơn giản ảnh chụp màn hình nhanh chóng và bẩn cho CasperJS sử dụng captureBase64 ('png')

Nó được đăng hình ảnh vào máy chủ nhận mà sau đó gửi nó qua socket.io đến trình duyệt hiển thị nó dưới dạng hình ảnh nội dòng.

Mã nguồn có sẵn trên github:

https://github.com/maciejjankowski/flaming-octo-puss

Tôi không chắc chắn tương thích như thế nào đó là với PhantomJS, nhưng CasperJS hoạt động hoàn hảo vì vậy nếu sự gan dạ đang sử dụng PhantomJS có một cơ hội bạn có thể làm khái niệm này để làm việc.

Bạn sẽ cần để thêm video này từng bước hoặc thiết lập nó như onStepComplete handler:

this.evaluate(function(img){ 
    __utils__.sendAJAX("http://localhost:8001/", 'POST', {'img' : img }, false);  
    }, 
    {'img' : this.captureBase64('png')} 
); 
Các vấn đề liên quan