2017-09-21 83 views
6

Tôi có một số bài kiểm tra nunit nhỏ được viết cho dự án Xamarin. Chúng chạy rất tốt trên thiết bị đầu cuối của Mac Mini của tôi (nền tảng xây dựng jenkins). Khi tôi chạy lệnh tương tự trên jenkins tôi nhận được một lỗi lạ mà tôi không thể giải thích. Tôi đã thử cung cấp đường dẫn tập tin đầy đủ và chạy lệnh như là người chủ và tôi vẫn còn có lỗi này ném. Nếu bất cứ ai có bất kỳ kinh nghiệm với điều này nó sẽ được đánh giá rất nhiều.Vấn đề Chạy Thử nghiệm NUnit Trên Jenkins

lệnh cho quá trình xây dựng:

nuget restore CoreTests.sln 
msbuild CoreTests.sln /t:Build 
mono nunit3-console.exe CoreTests.dll 

Lỗi Output:

NUnit điều khiển Runner 3.7.0 Bản quyền (c) 2017 Charlie Poole, Rob Prouse

Runtime Environment Phiên bản OS : MacOSX 16.6.0.0 CLR Phiên bản: 4.0.30319.42000

tập tin thử nghiệm CoreTests/CoreTests/bin/Debug/CoreTests.dll

lỗi, thất bại và Warnings

1) Lỗi: ApplicationName = 'mono', commandline = '- runtime = v4.0.30319 " /Users/falconbot/Documents/NUnit/nunit-agent.exe " 8e81b5fe-8dba-4da0-8612-5c0cabe9d40f tcp: //127.0.0.1: 55001/TestAgency --pid = 97532 ', CurrentDirectory =' ', Gốc error = Không thể tìm thấy tệp được chỉ định tại System.Diagnostics.Process.StartWithCreateProcess (System.Diagnostics.ProcessStartInfo startInfo) [0x002dc] trong < 70507a44a84041d599bbfa8f3d0ea5b1>: 0 tại System.Diagnostics.Process.Start() [0x0003a] trong < 70507a44a84041d599bbfa8f3d0ea5b1>: 0 tại (wrapper Remoting-gọi-với-check) System.Diagnostics.Process: Bắt đầu() tại NUnit.Engine.Services.TestAgency .LaunchAgentProcess (NUnit.Engine.TestPackage gói) [0x002f2] trong < 1e8ad6af4c6f4686ad7e5f9e67020b3b>: 0 tại NUnit.Engine.Services.TestAgency.CreateRemoteAgent (NUnit.Engine.TestPackage gói, System.Int32 waitTime) [0x00000] trong < 1e8ad6af4c6f4686ad7e5f9e67020b3b>: 0 tại NUnit.Engine.Services.TestAgency.GetAgent (NUnit.Engine.TestPackage gói, System.Int32 waitTime) [0x00000] in < 1e8ad6af4c6f4686ad7e5f9e67020b3b>: 0 tại (wrapper Remoting-gọi-với-check) NUnit.Engine.Services.TestAgency: GetAgent (NUnit.Engine.TestPackage, int) tại NUnit.Engine.Runners.ProcessRunner.CreateAgentAndRunner() [0x0003d] trong < 1e8ad6af4c6f4686ad7e5f9e67020b3b>: 0 tại NUnit.Engine.Runners.ProcessRunner.RunTests (NUnit.Engine.ITestEventListener nghe, NUnit.Engine.TestFilter lọc) [0x0001f] trong < 1e8ad6af4c6f4686ad7e5f9e67020b3b>: 0

Kết quả chạy thử Kết quả chung: Số kiểm tra không thành công: 0, Đã qua: 0, Không thành công: 0, Cảnh báo: 0, không phân thắng bại: 0, Bỏ qua: thời gian 0 bắt đầu: 2017/09/28 18: 18: 49Z Thời gian kết thúc: 2017/09/28 18: 18: 49Z Thời gian: 0,089 giây

Kết quả (nunit3) được lưu dưới dạng TestResult.xml xây dựng bước 'Execute vỏ' đánh dấu xây dựng như thất bại

+0

Bạn đang sao chép nunit3-console.exe ở đâu đó theo cách thủ công? Có vẻ như giao diện điều khiển không thể xác định vị trí nunit-agent.exe, mà nên được ngồi trong cùng một thư mục. – Chris

+0

Tôi rút ngắn lệnh vì lợi ích của bài đăng. Nó lưu trữ trong một thư mục có tên NUnit cũng chứa nunit-agent.exe và đường dẫn tệp đầy đủ tới nunit3-console.exe được sử dụng khi tôi gọi nó trong jenkins. – user3459799

+0

có thể đăng kết quả gỡ lỗi đầy đủ từ Jenkins có thể giúp, và xem xét cấu hình của bạn chi tiết hơn – ldgorman

Trả lời

1

Miễn là bạn đang nhận được đến dòng thứ ba mà không có lỗi tôi sẽ đề nghị nó nên là:

nunit3-console.exe <workspace_relative_path_to_project_containing_tests>.dll 

Disclaimer: Tôi là người đóng góp cho NUnit dự án và tác giả của gói gói Saucery3. Nhưng tôi không phải là một chuyên gia đơn sắc.

+0

Yea Tôi biết rằng tôi có thể chạy thử nghiệm đơn vị với dll được xây dựng. Tôi nhận được kết quả tương tự khi tôi cố gắng chạy các bài kiểm tra đơn vị từ dll từ bên trong Jenkins nhưng hoạt động tốt khi tôi chạy từ dòng lệnh bản thân mình. – user3459799

+0

Bạn nên thực thi nunit3-console.exe từ Windows Batch Step như một phần của bản dựng. nunit3-console.exe hoặc là cần phải được trong% PATH% của bạn hoặc cung cấp đầy đủ c: \ rooted đường dẫn đến nunit3-console.exe trong bước Windows Batch. –

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