2010-09-30 68 views
24

Tôi đã tìm kiếm một cách tốt để chạy các kiểm tra đơn vị JavaScript bên trong Visual Studio IDE. Tôi hiện đang sử dụng TestDriven.net để chạy thử nghiệm đơn vị C# của tôi và rất thuận tiện để có thể nhanh chóng nhận được kết quả của các thử nghiệm của tôi trong ngăn đầu ra. Tôi rất thích tìm một trải nghiệm tương tự cho JavaScript (lý tưởng là làm việc với TestDriven.net).Chạy thử nghiệm đơn vị JavaScript bên trong Visual Studio

Tôi đã đọc về các giải pháp khác nhau cho phép bạn thực hiện các kiểm tra đơn vị JavaScrpt. Một số có động cơ JS của riêng mình trong khi những người khác như JS-Test-Driver có thể gửi mã cho trình duyệt và tìm nạp kết quả. Nhưng tôi vẫn chưa thấy cái gì đó được tích hợp vào VS.

Có ai biết tiện ích mở rộng có thể thực hiện việc này không?

+0

có gì mới ở đây không? – pavsaund

Trả lời

23

Sau chín tháng, hiện có một vài câu trả lời cho câu hỏi này.

Tôi created dự án nguồn mở được gọi là Chutzpah - A JavaScript Test Runner. Chutzpah cho phép bạn chạy thử nghiệm đơn vị JavaScript từ dòng lệnh và từ bên trong của Visual Studio. Nó cũng hỗ trợ chạy trong máy chủ tích hợp TeamCity liên tục.

Giải pháp khác là một phần của phiên bản Resharper tiếp theo. Trong Resharper 6 có integrated QUnit test runner.

+0

Nice bước đó để tạo của riêng bạn thử nghiệm Á hậu :). Trông khá thú vị. Cá nhân tôi đã lưu giữ với jstestdriver, vì nó chỉ là AWESOME khi kiểm tra trình duyệt chéo với máy chủ xây dựng. Ngoài ra để phát triển, nó là tuyệt vời với wrapper jsautotest snappy chạy tất cả các bài kiểm tra trên mỗi tiết kiệm. [jstdutil_a_ruby_wrapper_over_jstestdriver] (http://cjohansen.no/en/javascript/jstdutil_a_ruby_wrapper_over_jstestdriver) – pavsaund

+0

Cảm ơn, tôi chắc chắn đã xem qua jstestdriver và khả năng chạy trên nhiều trình duyệt là rất mong muốn. Tôi dự định cuối cùng sẽ thêm khả năng Chutzpah sử dụng jstestdriver và có thể là các trình điều khiển thử nghiệm khác. Đối với bản phát hành đầu tiên, tôi đã đi với một trình duyệt không đầu vì nó là khép kín. Một người dùng có thể lấy các bit và chỉ cần chạy và không lo lắng về những gì trình duyệt trên máy đó. –

+0

@Matthew Manela Thật tuyệt vời! :) –

12

Có thể sử dụng JsTestDriver làm người thử nghiệm trong Visual Studio. Khi một máy chủ đã được khởi động, với các trình duyệt được đính kèm, người ta có thể chạy các xét nghiệm trực tiếp từ bên trong Visual Studio.

Cửa sổ Bảng điều khiển sau đó sẽ cung cấp kết quả thử nghiệm. Tôi sẽ không đi đến chi tiết thực hiện ở đây, nhưng the following how-to là đủ để giúp bạn bắt đầu thiết lập thực tế của Visual Studio/JsTestRunner.

điều khiển đầu ra từ chrome và internet explorer (bỏ qua xấu thử tên của tôi): Console output from chrome and internet explorer

JsTestDriver chủ yếu là một công cụ kiểm tra chạy để xác minh nhiều trình duyệt. Để có được các bài kiểm tra đơn vị tốt trên chính javascript, người ta có thể cắm các công cụ kiểm tra cụ thể khác như JasmineBDD (jasmine to jstestdriver adapter).

JsTestDriver cũng mở ra cho khả năng kiểm tra đối với nhiều trình duyệt dưới dạng bước xây dựng trên máy chủ tích hợp liên tục của bạn tức là: Hudson (Continuous Integration with Hudson and jstestdriver). Điều này sau đó cho phép một dev để kiểm tra đối với một hoặc hai trình duyệt nhất định trong khi phát triển cục bộ, nhưng sau đó xác minh kết quả đối với bất kỳ phạm vi kết hợp OS/trình duyệt nào trên máy chủ xây dựng.

+0

Điều đó khá tốt. Nó sẽ được tốt đẹp nếu điều này có thể được tích hợp bên trong các công cụ kiểm tra hiện có như TD.net hoặc Á hậu thử nghiệm của Resharper. Một vấn đề khác là nó hơi chậm (nó phải khởi chạy trình duyệt và đính kèm với chúng). Sẽ rất tuyệt nếu có một tùy chọn tương tự như http://www.envjs.com/ với một API, chúng ta có thể kết nối với những người chạy thử nghiệm hiện có. –

+0

Trong quá trình phát triển địa phương, bạn chỉ có thể mở các trình duyệt và đính kèm vào máy chủ ... cho phép chạy nhanh hơn.Vẫn còn một drwaback rằng nó chạy tất cả các bài kiểm tra, và không chỉ là các bài kiểm tra trong bối cảnh hiện tại. – pavsaund

+0

Tôi hy vọng sẽ xem xét việc đưa nó vào TD.net. Nó ccertainly một cái gì đó mà có thể là đáng giá. Tôi đã không sử dụng envjs thực sự, do đó, không chắc chắn làm thế nào điều này thực sự làm việc – pavsaund

1

Chỉ tìm thấy bài viết này (và câu hỏi này) khi tìm kiếm cùng một thứ.

Integrating JavaScript Unit Tests with Visual Studio - Steven Walther

Nó có rất nhiều công việc vào nó, nhưng có vẻ như nó thực sự mang đến một sự tương tác tốt đẹp. Để chắc chắn giá trị rắc rối nếu bạn đang làm việc trên một ứng dụng nặng JavaScript.

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