21

Có thực tế/có thể tách kiểm tra hoa nhài vào một dự án visual studio riêng biệt?Jasmine trong một dự án thử nghiệm riêng biệt

Tôi chỉ bắt đầu với góc cạnh, và đang cố gắng để viết bài kiểm tra của tôi trước khi tôi bắt đầu về việc thực hiện góc thực tế. Tôi sẽ viết dự án của tôi trong Visual Studio 2012 với sự gan dạ Test Runner, xem video này. Hiện tại, tôi đang cố gắng tìm ra cách tổ chức cấu trúc thư mục của mình. Tôi biết về hạt giống góc cạnh và yeoman, nhưng những người không phù hợp để bắt đầu một dự án .net.

Tôi giả định rằng kể từ khi kiểm tra đơn vị trong Visual Studio thường được tách ra thành một dự án thử nghiệm riêng biệt, theo quy ước, các bài kiểm tra hoa nhài cũng vậy.

Tuy nhiên, đối với tập lệnh java, không có dự án nào để tham chiếu, vì vậy việc tách các bài kiểm tra thành một dự án khác sẽ đòi hỏi nhiều bản sao và dán, tôi nghĩ vậy.

Trả lời

18

Bạn có thể làm điều này với không sao chép/dán. Trong các bài kiểm tra Jasmine của bạn, bạn có thể thêm một chú thích /// <reference để đăng các tệp nguồn của bạn (hoặc thư mục chứa chúng). Ví dụ cho sturcture này

/PROJECTA/script

code1.js 
code2.js 

/TestProjectB test1.js

Bạn có thể thêm dòng này ở phía trên cùng của tập tin test1.js của bạn để tham khảo tất cả các tệp mã của bạn:

//// <reference path="../scripts" /> 
+7

làm phần bổ sung, thay vì lo lắng về số lượng ../ để thêm, chỉ cần kéo tệp nguồn vào vùng làm việc và đường dẫn tham chiếu sẽ được thêm tự động. –

+0

Xin chào @Matthew Manela, tôi không thể tham khảo 'code.js' từ dự án' spec'. Tôi có một giải pháp với hai dự án. a ** Project ** và ** SpecProject **. Khi tôi chạy giải pháp. cả hai dự án đang chạy trong cổng riêng biệt như các ứng dụng khác nhau. Và Im không thể tham khảo code.js. Làm ơn giúp tôi. –

+0

Khi tôi cố gắng tham khảo một thư mục như trong câu trả lời ở trên, studio trực quan phàn nàn rằng chỉ các tệp có phần mở rộng .ts được cho phép. Tuy nhiên, khi tôi tham chiếu rõ ràng.ts từ dự án chính, tôi bắt đầu nhận được lỗi biên dịch TS trên toàn bộ vị trí trong tệp TS đang được tham chiếu –

-2

Giả sử bạn nên sử dụng cấu trúc thư mục mặc định làm recomended bởi jasmine

đây là một cấu trúc mặc định link hiển thị của jasmine

+2

hmm .. cấu trúc thư mục đó muốn thư mục lib và quan trọng nhất là thư mục src ở cùng mức .. trên các dự án lớn hơn, nơi các bài kiểm tra thường tách ra khỏi src, có thể hơi khó hiểu đối với người kiểm tra hoặc thành viên nhóm khác. –

1

kiểm tra đơn vị truyền thống, tôi đã luôn luôn giữ trong hội đồng riêng biệt.

Tôi đã đọc cả hai mặt của đối số và không muốn gửi mã mà không phải là mã sản xuất, hoặc để có các bước triển khai thêm để loại bỏ các bài kiểm tra từ mã sản xuất.

Để tham chiếu javascript trong assembly Web.Client.Tests của tôi, ví dụ, tôi sử dụng một sự kiện sau xây dựng để sao chép các tệp vào dự án thử nghiệm. Đối với điều này tôi sử dụng robocopy - nó trông giống như sau:

 
robocopy "$(ProjectDir)app" "$(SolutionDir)Tests\Presentation\Web.Client.Tests\app" /E /COPY:D /IS 

robocopy "$(ProjectDir)Scripts" "$(SolutionDir)Tests\Presentation\Web.Client.Tests\Scripts" /E /COPY:D /IS 

if errorlevel 1 GOTO :eof 

Các con chính với phương pháp này là bạn phải xây dựng dự án mỗi thời gian, như bạn phải làm đối với mã C#, cập nhật dự án thử nghiệm trước khi chạy thử nghiệm.

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