2009-07-30 33 views
5

Tôi hiện đang có máy chủ xây dựng của chúng tôi thiết lập với CruiseControl.Net chạy một xây dựng bằng cách sử dụng MSBuild và sau đó chạy thử nghiệm đơn vị sử dụng MSTest. Vấn đề là tôi không thể nhìn thấy đầu ra của các bài kiểm tra đơn vị trong CC - Tôi biết họ đang được chạy vì tôi có thể nhận được xây dựng thất bại nếu tôi cam kết một bài kiểm tra thất bại.Bắt đầu ra MSTest để hiển thị trong CruiseControl.Net

Tôi đã làm theo hướng dẫn trực tuyến từ http://blogs.blackmarble.co.uk/blogs/bm-bloggers/archive/2006/06/14/5255.aspxhttp://www.softwarepassion.com/?p=89 nhưng vẫn không có may mắn.

tập tin ccnet.config My chứa

<tasks> 
     <msbuild> 
       <executable>C:\WINDOWS\Microsoft.NET\Framework\v3.5\MSBuild.exe</executable> 
       <workingDirectory>C:\CCBuilds</workingDirectory> 
       <projectFile>Application.sln</projectFile> 
       <buildArgs>/noconsolelogger /p:Configuration=Debug /v:diag</buildArgs> 
       <targets>Build</targets> 
       <timeout>900</timeout> 
       <logger>C:\Program Files\CruiseControl.NET\server\ThoughtWorks.CruiseControl.MsBuild.dll</logger> 
     </msbuild> 

     <exec> 
      <executable>deleteTestLog.bat</executable> 
      <baseDirectory>C:\CCBuilds</baseDirectory> 
      <buildArgs></buildArgs> 
      <buildTimeoutSeconds>30</buildTimeoutSeconds> 
     </exec> 

     <exec> 
      <executable>C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\mstest.exe</executable> 
      <baseDirectory>C:\CCBuilds</baseDirectory> 
      <buildArgs>/testcontainer:UnitTests\bin\Debug\UnitTests.dll /runconfig:localtestrun.Testrunconfig /resultsfile:testResults.trx</buildArgs> 
      <buildTimeoutSeconds>30</buildTimeoutSeconds> 
     </exec> 

    </tasks> 

    <publishers> 
     <merge> 
      <files> 
       <file>testResults.trx</file> 
      </files> 
     </merge> 

     <xmllogger logDir="C:\Program Files\CruiseControl.NET\server\Checkin Build\Artifacts\buildlogs" /> 

    </publishers> 

Các log file trong C: \ Program Files \ CruiseControl.NET \ server \ Checkin Build \ Artifacts \ buildlogs chứa các kết quả đơn vị kiểm tra, có tôi bị mất bất kỳ bước ?

+1

Liên kết đầu tiên đã chuyển, hiện tại http://blogs.blackmarble.co.uk/blogs/bm-bloggers/post/2006/06/14/MSTest-and-CruiseControl-NET -.aspx – sfuqua

Trả lời

1

Bạn có định cấu hình trang tổng quan web của mình bằng xsl đúng để định dạng đầu ra không? Có hai phiên bản khác nhau của XSL (Tóm tắt và Báo cáo) cho VSTS 2005 và 2008 khi Microsoft thay đổi đầu ra XML một cách đáng kể giữa hai phiên bản. Những thay đổi rất tốt, chỉ phá vỡ những thay đổi.

+1

Bằng cách này nếu bạn cũng muốn bảo hiểm mã trên các thử nghiệm đó, hãy xem tại đây http://dontbreakthebuild.blogspot.com/2008/11/codecoverage-and-unittesting-on-ccnet.html – Alex

3

tôi đã thực hiện những thay đổi sau đây để có được kết quả đầu ra MSTest được hiển thị trong CruiseControl.NET

1) Đối với Dashboard - trong dashboard.config thêm một tham chiếu đến tập tin xsl MSTest 2008 theo buildReportBuildPlugin

<xslFile>xsl\MsTestReport2008.xsl</xslFile> 

2) Đối với email - trong ccservice.exe.config thêm tham chiếu đến tập tin xsl cùng dưới xslFiles phần

<file name="xsl\MsTestSummary2008.xsl"/> 
+2

Tôi cũng phải khởi động lại IIS để có được dashboard.config để nhận các thay đổi, nhưng nó đã làm việc cho tôi. –

1

Đối với Bảng điều khiển, tôi nghĩ rằng bạn cần thêm MSTest Tóm tắt vào xlsFiles, nhưng thêm MSTest Báo cáo plugin báo cáo xây dựng. Đó là,

<buildReportBuildPlugin> 
    <xslFileNames> 
     <xslFile>xsl\MsTestSummary2008.xsl</xslFile> 
    </xslFileNames> 
    </buildReportBuildPlugin> 
    <xslReportBuildPlugin description="MSTest Report" actionName="MSTESTReport" xslFileName="xsl\MsTestReport2008.xsl" /> 
</buildPlugins> 

Tôi đã thử thêm MSTestReport trên cả hai nhưng nó đã không làm việc, nhưng các thiết lập đã làm ở trên. Hy vọng rằng sẽ giúp ...

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