【问题标题】:Test Results and Documentation Site测试结果和文档站点
【发布时间】:2016-05-06 21:51:55
【问题描述】:

目前我正在使用这些工具来运行我的测试、代码覆盖率和文档:

单元测试:

  • 茉莉花
  • xUnit

代码覆盖率:

  • 伊斯坦布尔
  • dotCover

文档:

  • 类型文档

当我尝试为前端和后端做所有模块化的事情时,我们有多个 bower 组件和 nuget 包,当然每个组件都运行不同类型的测试和文档。

现在我想做的是拥有一个专门的站点来获取所有测试结果和文档,并拥有一个专门的站点,所有开发人员等都可以将其用作参考点。

有什么插件可以帮助我实现它吗?

如果你不知道我可以从哪里开始,因为我尝试了一些谷歌搜索但没有运气。

【问题讨论】:

    标签: unit-testing code-coverage karma-jasmine xunit istanbul


    【解决方案1】:

    我使用的技术大致相同。 作为构建服务器,我使用 TeamCity。 简而言之:您的构建由步骤组成,例如(简化):

    1. 构建.sln
    2. gulp 构建
    3. xUnit 测试 (*A: publishing coverage)
    4. 因果报应
    5. 将覆盖范围从 Javascript 重新映射到 Typescript(*B:发布覆盖范围)

    到目前为止,我遇到的唯一问题是覆盖率 (*A + *B)。最后一个数据将覆盖第一个数据(而不是全部平均)。所以在那种情况下,我使用custom reports page 来显示伊斯坦布尔生成的 html 报告,并且只使用 xUnit 覆盖率报告。

    您可以将来自 istanbul 的 coverage.json 作为构建的工件,然后第二个构建会通过 teamcity 获取并报告该覆盖率。它只是一个覆盖率报告构建(只有 1 步,报告代码覆盖率)。触发器是生成覆盖率的成功构建。

    对于您生成的文档,您也可以使用custom reports page

    关于单元测试的执行(jasmine (karma?) 和 xunit),两者都报告其数量,最终的测试报告将显示它们的组合。

    【讨论】:

    • 但是你有在每个构建中生成的文档对吗?有一个单独的站点来托管您的所有文档不是更有意义吗?
    • 对于那种文档(由代码注释生成),每次提交都可能更改文档。目标受众是开发人员,因此我个人认为 TeamCity 是“托管”它的好地方。随着应用程序的发展,API 文档和不同的分支也会有不同的内容。您可以使用 TC 从文档中生成工件并在另一台服务器上发布。
    • 如何为单元测试生成文档?为计划,不为报告执行
    猜你喜欢
    • 2016-07-20
    • 2014-10-08
    • 1970-01-01
    • 1970-01-01
    • 2017-04-20
    • 2012-11-10
    • 2016-10-16
    • 2011-09-14
    • 1970-01-01
    相关资源
    最近更新 更多