2010-09-08 31 views
12

tôi nhận được lỗi này khi chạy thử nghiệm Moq của tôi thông qua TeamCity 5TeamCity không DLL cho một số NUnit thử nghiệm dự án

Test (s) thất bại. System.IO.FileNotFoundException: Không thể tải tệp hoặc lắp ráp 'Moq, Phiên bản = 3.1.416.3, Văn hóa = trung lập, PublicKeyToken = 69f491c39445e920' hoặc một trong các phụ thuộc của nó. Hệ thống không thể tìm thấy tệp được chỉ định. tại MyCode.Tests.SomeHandlerTests.Setup()

Các thử nghiệm chạy tốt trên địa phương của tôi; họ chỉ thất bại trên máy chủ xây dựng.

Tôi đảm bảo rằng các hội đồng nằm trong Thùng (xem xét chúng bây giờ qua RDP chỉ cần chắc chắn là gấp đôi).

Trả lời

27

Vì vậy, vấn đề là phải làm gì với con đường tìm kiếm thử nghiệm DLL theo các cài đặt nunit

Đó là:

.. \ thử nghiệm \ ** \ * Kiểm tra * .dll

Nhưng bây giờ là:

.. \ thử nghiệm \ * \ bin \ Debug \ * Kiểm tra * .dll

Và điều làm việc độc đáo

CẬP NHẬT

http://confluence.jetbrains.com/display/TCD8/NUnit

Bạn có thể sử dụng mẫu này

** \ *. Dll

như lo ng khi bạn thêm mô hình này trong "Đừng chạy thử nghiệm từ" lĩnh vực

** \ obj \ ** \ * dll.

+1

Bạn có biết lý do tại sao các công trình này? Tôi đã có vấn đề tương tự, xuống RDP'ing để thấy rằng nó đã có. – Robert

+2

@Robert - nó làm việc cho tôi vì ban đầu nó cũng được chọn lên/obj/thư mục, mà không có tất cả các phụ thuộc cần thiết. – FriendlyGuy

+0

Điều tương tự cũng xảy ra với tôi và vì @MickieChan nói rằng nó đang chạy thử nghiệm trong thư mục/obj nhưng không chắc chắn lý do tại sao trong trường hợp của tôi vì mẫu của tôi là% system.teamcity.build.workingDir% \\ ** \ bin \% system .Configuration% \ *. IntegrationTests.dll vì vậy không chắc chắn lý do tại sao nó sẽ nhận thư mục/obj. Các dấu hiệu khác này đã xảy ra là trong nhật ký xây dựng, nơi cho mỗi thử nghiệm thất bại nó nói "Các thử nghiệm đã được chạy 2 lần trong xây dựng, 1 thất bại". –

0

Tôi đã có một vấn đề tương tự, nhưng phát hiện ra rằng Tôi đã có phiên bản khác nhau của Moq giữa 2 dự án thử nghiệm của tôi.

Vấn đề mà tôi gặp phải là phiên bản chính xác không có sẵn.

Chỉ cần làm

Update-Package Moq 

Từ dòng lệnh Package Manager

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