2010-02-08 30 views
6

Tôi đang xem kết quả đầu ra của NUnit XML ngay bây giờ hay không và tự hỏi liệu có thể tạo ra đầu ra cho các lỗi chỉ.Có thể tùy chỉnh Đầu ra NUnit XML

Ý tôi là, nếu một thử nghiệm trôi qua ok, không có đầu ra XML nào được tạo cho nó cả.

(CẬP NHẬT: XSLT không phải là một tùy chọn ở đây Tôi không muốn đầu ra XML cho các bài kiểm tra được thông qua tại tất cả:. Nếu tôi không cần các chi tiết về các cuộc thử nghiệm trôi qua, tôi không muốn hệ thống dành nhiều thời gian để tạo ra các chi tiết đó.)

Ý tưởng là, đầu ra XML có xu hướng khá lớn nếu bạn có nhiều thử nghiệm, nhưng 80% thời gian sau khi bạn thất bại. Đối với những trường hợp như vậy, tôi muốn chạy các thử nghiệm của mình theo cách mà chỉ thông tin về các lỗi được tạo ra.

Trả lời

1

Đã đăng câu hỏi này lên NUnit Google Group và Charlie Poole confirmed mà không có tùy chọn nào như vậy.

4

Bạn có thể chỉ định một tập tin XSLT khi bạn chạy NUnit console runner để tùy chỉnh các tập tin được tạo ra: tập tin XML

nunit-console /transform:failures.xslt nunit.tests.dll 

Giá trị mặc định được tạo ra sử dụng this tập tin XSLT có thể dễ dàng sửa đổi để chỉ báo cáo thất bại.

+0

Vâng, tôi có nghĩa là tôi không muốn bất kỳ đầu ra cho các bài kiểm tra thông qua ở tất cả. Nếu tôi không cần các chi tiết về các bài kiểm tra được thông qua, tôi không muốn hệ thống dành nhiều thời gian để tạo ra các chi tiết đó. – andreister

+0

Cảm ơn Keith - chúng tôi đã tìm cách kiểm soát định dạng tệp và câu trả lời của bạn thực hiện chính xác những gì chúng tôi cần :-) –

0

Tôi không thể đảm bảo nếu nó hoạt động, nhưng có thể bạn có thể viết addin của riêng bạn để đạt được những gì bạn muốn. Nếu bạn móc vào điểm mở rộng "EventListeners" với addin của bạn, phương thức TestFinished của bạn (TestResult tr) mà bạn sẽ phải thực hiện sẽ được gọi bất cứ khi nào một bài kiểm tra kết thúc. Chỉ cần đọc kết quả và đặt thuộc tính WriteResultEntry thành true chỉ cho các kiểm tra không thành công. Vâng tôi không chắc chắn nếu Charlie đã thực hiện tài sản sau này, nhưng nếu không, addin của bạn vẫn có thể tạo ra kết quả NUnit của riêng bạn chỉ cho các bài kiểm tra thất bại.

/// <summary> 
/// Test finished. 
/// </summary> 
/// <param name="result">The result.</param> 
public void TestFinished(TestResult result) 
{ 
    if (!result.IsFailure) 
    {    
     result.WriteResultEntry = false; 
    } 
} 

Nếu không có thuộc tính nào như vậy WriteResultEntry, hãy yêu cầu Charlie thực hiện hoặc tạo báo cáo kết quả của riêng bạn bằng cách chỉ ghi kết quả khi kết quả.IsFailure là đúng.

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