2010-02-08 37 views
5

Sau khi chạy thử nghiệm fitnesse bằng testrunner, tôi nhận được tệp xml chứa tất cả các kết quả. Bây giờ tôi không thể tìm ra cách hiển thị các kết quả đó trong GUI hudson cho một công việc cụ thể.Hiển thị các báo cáo Fitnesse XML trong Hudson GUI

Tôi đã lướt web và những gì tôi tìm thấy là một vài người sửa đổi tệp xsd từ CruiseControl.NET, nhưng không ai thực sự cho thấy nó hoạt động!

Nếu ai đó có thể giúp tôi hoặc chỉ cho tôi đúng hướng, điều đó sẽ được đánh giá cao.

Cảm ơn bạn. Yohann

Trả lời

3

Tôi chuyển đổi kết xuất xml bằng xslt từ fitnesse sang định dạng junit và xuất bản kết quả kiểm tra. Thật không may, tôi đã không thể nhận được kết quả html của một thất bại hiển thị bên trong hudson, tuy nhiên nó không phải là một vấn đề thực sự vì tất cả những gì tôi muốn biết là các bài kiểm tra chấp nhận của tôi là ok.

Dưới đây là bản sao của xslt tôi sử dụng.

<?xml version="1.0" encoding="ISO-8859-1"?> 
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 
<xsl:template match="/"> 
    <xsl:element name="testsuite"> 
    <xsl:attribute name="tests"> 
     <xsl:value-of select="sum(testResults/finalCounts/*)" /> 
    </xsl:attribute> 
    <xsl:attribute name="failures"> 
     <xsl:value-of select="testResults/finalCounts/wrong" /> 
    </xsl:attribute> 
    <xsl:attribute name="disabled"> 
     <xsl:value-of select="testResults/finalCounts/ignores" /> 
    </xsl:attribute> 
    <xsl:attribute name="errors"> 
     <xsl:value-of select="testResults/finalCounts/exceptions" /> 
    </xsl:attribute> 
    <xsl:attribute name="name">AcceptanceTests</xsl:attribute> 
    <xsl:for-each select="testResults/result"> 
    <xsl:element name="testcase"> 
     <xsl:attribute name="classname"> 
     <xsl:value-of select="/testResults/rootPath" /> 
     </xsl:attribute> 
     <xsl:attribute name="name"> 
     <xsl:value-of select="relativePageName" /> 
     </xsl:attribute> 
     <xsl:choose> 
     <xsl:when test="counts/exceptions > 0"> 
      <xsl:element name="error"> 
      <xsl:attribute name="message"> 
       <xsl:value-of select="counts/exceptions" /> 
       <xsl:text> exceptions thrown</xsl:text> 
       <xsl:if test="counts/wrong > 0"> 
       <xsl:text> and </xsl:text> 
       <xsl:value-of select="counts/wrong" /> 
       <xsl:text> assertions failed</xsl:text> 
       </xsl:if> 
      </xsl:attribute> 
      </xsl:element> 
     </xsl:when> 
     <xsl:when test="counts/wrong > 0"> 
      <xsl:element name="failure"> 
      <xsl:attribute name="message"> 
       <xsl:value-of select="counts/wrong" /> 
       <xsl:text> assertions failed</xsl:text> 
      </xsl:attribute> 
      </xsl:element> 
     </xsl:when> 
     </xsl:choose> 
    </xsl:element> 
    </xsl:for-each> 
    </xsl:element> 
</xsl:template> 
</xsl:stylesheet> 
+0

Làm cách nào để bạn sử dụng xslt này? Có mô-đun nào đó ở đâu đó hay không cần viết kịch bản? –

1

Có một số thay đổi sắp tới với FitNesse sẽ hỗ trợ trả về kết quả được định dạng junit. Tôi không chắc chắn ngày chính xác, nhưng khi họ làm, sự cần thiết cho một hoạt động biến đổi riêng biệt nên biến mất. Có thể sẽ sớm có thể chạy thử nghiệm trong hudson với đối số dòng lệnh -c mới để chạy thử nghiệm và sau đó chạy nó lần thứ hai với đối số -c để yêu cầu kết quả mới nhất cho thử nghiệm ở định dạng junit . Điều tương tự cũng áp dụng cho các suite.

Tôi sẽ quay lại bản cập nhật khi bản phát hành có chức năng hoạt động.

Tôi quay lại. Cách tiếp cận -c vẫn có một số công việc để làm, tuy nhiên có một Hudson Plugin mới mà bạn có thể cài đặt trực tiếp từ bên trong Hudson. Nó không phải là giải pháp ý tưởng cho đội của tôi ngay bây giờ, nhưng nó đang làm việc cho một số đội.

Để có được nó:

  1. Upate 1350 hoặc cao hơn Hudson
  2. Bấm vào Quản lý Hudson
  3. Chọn sẵn Plugins
  4. Tìm kiếm FitNesse trên trang
  5. Cài đặt plugin
  6. Định cấu hình nó t trỏ đến fitnesse.jar và FitNesseRoot của bạn.
2

Không chắc chắn nếu đó là chính xác những gì bạn đang theo dõi nhưng nếu bạn cài đặt Fitnesse plugin, bạn có thể thêm bước tạo kết quả đầu ra xml.

Execute Fitnesse Build Script

Và sau đó bạn có thể xuất bản những kết quả từ xml như một hành động sau xây dựng.

Publish fitnesse results report (from xml)

+0

Không biết về người gửi, nhưng đây chính xác là những gì tôi đang tìm kiếm. –

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