LCD屏幕上的测试结果和代码覆盖状态

时间:2010-02-18 13:49:23

标签: unit-testing tfs tdd code-coverage

HI,

我们是一个小型TDD团队。 我们在墙上安装了一个液晶显示屏,我们希望显示我们的构建状态以及当前的代码覆盖率。

是否有任何工具可以提供这个盒子? 如果不是,这是非常直接的发展我们自己?

我们正在使用TFS 2008。

干杯!

3 个答案:

答案 0 :(得分:1)

在构建结束时

  • 我们汇总所有相关信息
  • 我们将此信息插入SQL Server表

查看结果

要查看结果,我们创建了一个简单的Excel文件。

  • 在Excel中,我们从BuildServer表中获取最新的100个结果。在这里,我们选择每30分钟刷新一次这个查询(创建查询时的复选框)。
  • 我们在此数据上创建了一个数据透视图,显示了构建的结果。
  • 要在刷新查询时自动刷新透视图,我们使用了vba脚本。

简而言之,就是这样。在连接到LCD的计算机上打开Excel文件,结果每30分钟刷新一次。

脚本

使用以下批处理文件进行聚合和插入。

FOR /F "tokens=3 delims=:" %%A in ('FIND /c "Fatal:" "%Temp%\Build.txt"') DO SET FatalErrors=%%A
FOR /F "tokens=3 delims=:" %%A in ('FIND /c "Error:" "%Temp%\Build.txt"') DO SET Errors=%%A
FOR /F "tokens=3 delims=:" %%A in ('FIND /c "Warning:" "%Temp%\Build.txt"') DO SET Warnings=%%A
FOR /F "tokens=3 delims=:" %%A in ('FIND /c "Hint:" "%Temp%\Build.txt"') DO SET Hints=%%A
FOR /F "tokens=3 delims=:" %%A in ('FIND /c "  at " "%Temp%\TestRun.txt"') DO SET TestFailures=%%A
sqlcmd -S<YourServer> -d<YourDatabase> -U<UserName> -P<Password> -Q"INSERT INTO dbo.BuildServer (Initials, CreatedOn, FatalErrors, Errors, Warnings, Hints, TestFailures) VALUES ('%Initialen%', GETDATE(), %FatalErrors%, %Errors%, %Warnings%, %Hints%, %TestFailures%)"

用于刷新所有数据透视表的Vba脚本

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim pt As PivotTable
    Dim ws As Worksheet

    For Each ws In Application.Worksheets
        For Each pt In ws.PivotTables
            pt.RefreshTable
        Next pt
    Next ws

End Sub

答案 1 :(得分:1)

您可以使用持续集成服务器为您提供所有这些数据。 (您的构建状态以及当前代码覆盖率)以及其他一些指标。

现在最好的IMO是Hudson

另一个好的是Cruise Control

答案 2 :(得分:0)