Tôi giả sử bạn đang sử dụng NUnit để thực hiện các thử nghiệm của mình. Nếu vậy, thay vì sử dụng khối <nunit>
trong cấu hình CruiseControl, hãy sử dụng tác vụ <exec>
. Trong phần tử <buildArgs>
, bao gồm đối số dòng lệnh/labels. Thao tác này sẽ in thông tin vào nhật ký máy chủ.
Thay vì sử dụng:
<nunit>
<path>C:\Program Files (x86)\NUnit 2.5.10\bin\net-2.0\nunit-console.exe</path>
<assemblies>
<assembly>C:\Projects\Personal\MyTestApp\MyTestApp.Tests\bin\Debug\MyTestApp.Tests.dll</assembly>
</assemblies>
</nunit>
Sử dụng:
<exec>
<executable>C:\Program Files (x86)\NUnit 2.5.10\bin\net-2.0\nunit-console.exe</executable>
<buildArgs>/labels C:\Projects\Personal\MyTestApp\MyTestApp.Tests\bin\Debug\MyTestApp.Tests.dll</buildArgs>
</exec>
Tôi biết nó không phải là lý tưởng, nhưng nó sẽ in mỗi bài kiểm tra khi nó chạy vào nhật ký. Sau đó bạn có thể sử dụng tác vụ hợp nhất để hợp nhất đầu ra tệp xml bởi nunit vào nhật ký dựng của bạn.
Hãy thử thực hiện việc này bằng ứng dụng bảng điều khiển ccnet trước, vì vậy bạn có thể xem kết quả theo thời gian thực. Nó sẽ giúp bạn thấy những gì bạn đang tìm kiếm.
Nó cũng có thể là tốt để nộp một bản vá để CruiseControl thêm dòng sau vào "dự án \ core \ nhiệm vụ \ NUnitArgument.cs" file:
line: 53 argsBuilder.AddArgument("/labels");
Hoặc bạn chỉ có thể thêm dòng đó, xây dựng CruiseControl và sử dụng phiên bản của riêng bạn.