2013-05-29 30 views
8

Tôi đang thiết lập TeamCity để chạy một số kiểm tra NUnit, TeamCity báo cáo rằng tất cả các vượt qua thử nghiệm nhưng nó báo cáo việc xây dựng như một thất bại với thông báo lỗi 'Tình trạng xây dựng mới là: Lỗi NUnit, {build.status.text} '. Đào vào nhật ký xây dựng Tôi có thể thấy rằng có lỗi khi tải chương trình đang được thử nghiệm, đây là lỗi được báo cáo;TeamCity NUnit xây dựng bước thất bại mặc dù tất cả các bài kiểm tra vượt qua

 
[Step 2/2] NUnit error running tests in 'C:\TeamCity\buildAgent\work\f73bb9cce36ccd59\ProjectName.Web\ProjectName.BrowserTests\obj\Release\MyProject.BrowserTests.dll' assembly 
Loading assembly is compiled for v4.0.30319, MSIL 
NUnit runner runtime is v4.0.30319, x86 
System.IO.FileNotFoundException: Could not load file or assembly 'MyProject.Browser, Version=0.24.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. The system cannot find the file specified. 
File name: 'MyProject.Browser, Version=0.24.0.0, Culture=neutral, PublicKeyToken=null' 

Server stack trace: 
    at System.Reflection.RuntimeAssembly.GetExportedTypes(RuntimeAssembly assembly, ObjectHandleOnStack retTypes) 
    at System.Reflection.RuntimeAssembly.GetExportedTypes() 
    at NUnit.Core.CoreExtensions.InstallAdhocExtensions(Assembly assembly) 
    at NUnit.Core.Builders.TestAssemblyBuilder.Load(String path) 
    at NUnit.Core.Builders.TestAssemblyBuilder.Build(String assemblyName, Boolean autoSuites) 
    at NUnit.Core.Builders.TestAssemblyBuilder.Build(String assemblyName, String testName, Boolean autoSuites) 
    at NUnit.Core.TestSuiteBuilder.Build(TestPackage package) 
    at NUnit.Core.SimpleTestRunner.Load(TestPackage package) 
    at NUnit.Core.ProxyTestRunner.Load(TestPackage package) 
    at NUnit.Core.ProxyTestRunner.Load(TestPackage package) 
    at NUnit.Core.RemoteTestRunner.Load(TestPackage package) 
    at System.Runtime.Remoting.Messaging.StackBuilderSink._PrivateProcessMessage(IntPtr md, Object[] args, Object server, Object[]& outArgs) 
    at System.Runtime.Remoting.Messaging.StackBuilderSink.SyncProcessMessage(IMessage msg) 

Vì vậy, tại sao tệp không được tải, tôi tự hỏi? Các bài kiểm tra đã trôi qua, vậy tại sao tệp này thậm chí cần được tải ngay bây giờ?

Tôi đã thử nghiệm với cài đặt thời gian chạy .NET thành x86 trong bước xây dựng NUnit, không có kết quả.

Môi trường: Windows 7, VS 2012 Cập nhật 2, biên dịch sang .NET 4.0, NUnit 2.6.2, TeamCity 7.1.

+0

Có cùng vấn đề. Bực bội. – autonomatt

Trả lời

6

Nếu điều này vẫn còn hoạt động;
Đây là một lỗi khá rõ ràng:

System.IO.FileNotFoundException: Could not load file or assembly 'MyProject.Browser, Version=0.24.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. The system cannot find the file specified.

  1. Bạn phải tạo xây dựng các bước để biên dịch kiểm tra

  2. Tạo một build bước NUnit và vượt qua đường dẫn đến file lắp ráp, bạn có thể sử dụng ký tự đại diện, nhiều thông tin https://stackoverflow.com/a/16629676/1075077 tại đây.

+1

Câu trả lời được liên kết là chính xác, cụ thể là bạn cần chạy dll từ thư mục/bin và không phải thư mục/obj mà teamcity sẽ làm phiền nếu bạn không rõ ràng với đường dẫn. Cảm ơn. –

+0

# 2 là đúng về thời gian. Tôi nhận thấy trong tài liệu (https://confluence.jetbrains.com/display/TCD7/NUnit) rằng nó đề cập rằng bạn có thể muốn đặt nó trong phần "Bỏ qua". Có vẻ như giá trị đó sẽ được mặc định trong TeamCity. –

+0

Vâng :) nếu bạn thích câu trả lời, hãy upvote nó :) –

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