2013-10-23 13 views
5

Tôi vừa cài đặt Visual Studio 2013 và CodeLens thật tuyệt vời! Vấn đề mà tôi thấy là bất cứ khi nào tôi mở một tập tin lớp có phương pháp trong nó, nó dường như không tìm thấy các bài kiểm tra đơn vị liên quan đến phương pháp nếu nó không được viết bằng MSTest. Có điều gì mà tôi phải làm để có thể tìm các bài kiểm tra Đơn vị khác như MSpec không?CodeLens chỉ tìm thấy các bài kiểm tra được viết trong MSTests

enter image description here

Có phải vì máy Thông số kỹ thuật có một cách tiếp cận khác nhau khi tạo kiểm tra đơn vị vs MSTest hoặc testing framework khác ra khỏi đó?

+0

được kiểm tra bởi và chỉ báo trạng thái kiểm tra yêu cầu các phương pháp được phát hiện (để chỉ báo tham chiếu xuất hiện) và khớp với trình khám phá kiểm tra. sao MSpec tích hợp với trình khám phá thử nghiệm? –

+0

Tôi không nghĩ vậy trừ khi tôi sử dụng Bộ kiểm tra MSpec để nó sẽ được tích hợp với trình khám phá kiểm tra. –

Trả lời

3

Các chỉ báo trạng thái thử nghiệm và kiểm tra được cung cấp bởi trình khám phá kiểm tra.

Vì vậy, nếu kiểm tra MSpec của bạn hiển thị trong trình khám phá thử nghiệm và được viết bằng C# hoặc VB, chúng cũng sẽ hiển thị trong CodeLens.

(giống câu trả lời như Visual Studio 2013 feature Code Lens with NUnit)

tôi chỉ làm nó với NUnit trên một máy sạch bằng cách cài đặt Nunit và phần mở rộng Nunit trong quản lý mở rộng. Ở đây Main hiển thị một tham chiếu và một lần thử nghiệm, và bản thân kiểm tra sẽ hiển thị dấu kiểm sau khi chạy thành công.

enter image description here

+0

Điều đó không đúng. Cài đặt bộ điều hợp thử nghiệm cho các khuôn khổ thử nghiệm khác sẽ các khuôn khổ kiểm tra khác hiển thị trong trình khám phá thử nghiệm nhưng CodeLens sẽ không hiển thị tài liệu tham khảo –

+0

đã thêm các chi tiết về ảnh và cập nhật. bạn có một trường hợp cụ thể mà nó không hoạt động không? Tôi chưa bao giờ thấy mspec, nếu mã nguồn không phải là C# hoặc VB, thì nó sẽ không hoạt động, vì các codelens hiện chỉ hoạt động trên vb và C# source. –

1

tôi đã làm điều tương tự mà John Gardner cho thấy trong câu trả lời của mình, ngoại trừ tôi chia nó thành 2 dự án (để bắt chước các thiết lập mà tôi đã làm việc với trong dung thật của tôi). Lúc đầu, nó không hoạt động mặc dù tôi có thể thấy các bài kiểm tra trong Test Explorer. Sau một chút tìm kiếm, tôi vấp phải câu trả lời đúng cho tình huống của mình.

Nó chỉ ra rằng bạn cần phải:

(1) Tạo một dự án thử nghiệm đơn vị mới (không phải là một thư viện lớp)

(2) Thêm NUnit tham chiếu đến các dự án Unit Test (tôi đã sử dụng NuGet) và đã cài đặt thử nghiệm Adaptor NUnit trong VS2013

(3) Di chuyển các xét nghiệm của bạn cho dự án mới này

(4) Khi bạn lưu và xây dựng, bây giờ bạn có thể quay về mã sản xuất của bạn và xem " x/y truyền qua "tin nhắn và xem các bài kiểm tra đơn vị trong bài kiểm tra Expl cửa sổ orer.

Hầu hết chúng ta đã sử dụng NUnit trong một thời gian dài được sử dụng để tạo thư viện lớp cho mã của chúng tôi thay vì các dự án thử nghiệm đơn vị. Nó sẽ là tốt đẹp nếu các tài liệu CodeLens thực sự trực tiếp bảo hiểm này (tài liệu nói rằng "Chỉ số trạng thái kiểm tra xuất hiện tự động trong các dự án thử nghiệm" đó là đầu mối của tôi).

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