Xml 用于导入NUnit结果的数据库?

Xml 用于导入NUnit结果的数据库?,xml,database,nunit,nunit-console,Xml,Database,Nunit,Nunit Console,我有一大套NUnit测试;我需要将给定运行的结果导入数据库,然后描述结果集并将其呈现给用户(测试失败的电子邮件,检查结果的web演示)。我还需要跟踪一段时间内的多次运行(用于报告一段时间内的故障率等) XML将是nunit控制台生成的XML。我希望以最小的麻烦将XML导入到一些数据库中,然后可以使用这些数据库来持久化和显示结果。我们将有一些自定义类别,我们需要能够排序,以及 是否有人知道一个数据库模式可以处理导入这种类型的数据,这些数据可以根据我们的个人需求进行定制?这类问题似乎应该是常见的,因

我有一大套NUnit测试;我需要将给定运行的结果导入数据库,然后描述结果集并将其呈现给用户(测试失败的电子邮件,检查结果的web演示)。我还需要跟踪一段时间内的多次运行(用于报告一段时间内的故障率等)

XML将是nunit控制台生成的XML。我希望以最小的麻烦将XML导入到一些数据库中,然后可以使用这些数据库来持久化和显示结果。我们将有一些自定义类别,我们需要能够排序,以及


是否有人知道一个数据库模式可以处理导入这种类型的数据,这些数据可以根据我们的个人需求进行定制?这类问题似乎应该是常见的,因此应该有一个共同的解决方案,但我似乎找不到。如果有人以前实现过这样的解决方案,也会非常感谢您的建议。

在我看来,您实际上是在寻找一个构建服务器,例如或

让构建服务器运行测试,它会告诉人们失败的原因和原因


我推荐TeamCity,因为它的设置容易几个数量级。

我在这里希望解决同样的问题。我们目前倾向于编写XSLT,将XML结果转换为insert语句。然后通过命令行SQL解释器运行insert语句的结果文件。理想情况下,我宁愿有一个NUnit插件/扩展来为我处理所有这些。不幸的是,我还没有找到一个。

要构建IainMH的答案,您可能想看看使用Trac with,它是一个开源构建系统,可以运行n单元测试并报告结果。我目前使用它来实现这个确切的功能

使用MS SQL时,可以将所有xml导入到[xml]数据类型的公共列中。在此基础上,可以执行XPath、搜索和转换。

如果您手头拮据,可以选择CruiseControl或TeamCity。我非常喜欢他们的软件,因为它的易用性,而且他们有一个10美元就能买到竹子的协议。

为什么你需要将结果存入数据库?谁将使用它们?失败的次数不能太多。如果是(反复)你的开发过程是错误的。修复流程。消除浪费(精益原则之一),不要收集

采取更小的步骤(更短的迭代、连续构建),消除依赖关系

这是不常见的,因为有此类问题的项目不会交付,但最终会被取消

[编辑]Michael,在较长时间内跟踪nunit故障提供零价值。你需要一个简短的反馈循环。现在就解决问题。如果你等到你积累了很多问题,你就会被噪音淹没


良好的问题跟踪是在正确的(可能的最高抽象)级别完成的。绝对不是单元测试。

我们希望避免这种情况,但我们已经从NUnit结果XML模式生成了一个数据库模式;然而,这有点不足,因为NUnit会进行一些(不准确和奇怪的)处理来确定一些关键统计数据(“忽略”与“不运行”,例如)


我们仍然希望找到一个模式/流程,它不是一个完整的CIT构建系统,允许我们自定义数据库以导入结果,但目前我们正在使用一个手动数据库,我们需要对其进行大量自定义以获得所需的报告。

构建服务器有很多功能。这可能是正确的答案,但并不总是或明显优于直接处理结果。我们没有TeamCity的预算(尽管我想我已经开始和我的老板沟通了),CruiseControl.Net也不适合我们现在所做的构建工作。我对使用NUnit和数据库的解决方案感兴趣。为什么你没有免费软件的预算呢?TeamCity Professional不需要任何费用。TeamCity对于从事简单项目的小型团队来说是免费的(就像啤酒一样)。我们两者都没有。跟踪失败的原因(以及何时和多久失败一次)是确定问题根源的关键。没有它,你就浪费时间试图解决错误的流程问题。我想说,良好的问题跟踪对于精益开发过程至关重要。迈克尔,没错。我们正在遭受遗留代码库的痛苦,测试集严重不足;我们所做的测试(这是一个很大的数字;但它们提供了不完整的覆盖范围)在结果中存在一定程度的不一致性。长时间(数月)跟踪不一致对我们的优先顺序很重要。虽然我原则上同意,但在我们的案例中,即使是一天的故障分析也可以提供大量的洞察力。我们测试软件如何与硬件交互。如果故障只发生在颜色传感器上,那么这让我们知道应该在哪里查找问题。如果它只发生在高分辨率黑白传感器上,那么我们将看看其他地方。我们的传感器有十几种可能(也可能不)重要的特性。在XML中分析结果是不正确的。我试图消除浪费。除了分析单个测试运行的结果外,随着时间的推移分析结果有很大的价值。如果我们可以查看过去6个月所有构建的结果,我们可能会看到在查看单个构建时不太明显的趋势。当我们接近发布时,单元测试是否更容易失败?在Sprint开始时,他们是否会因为大量的新特性而失败?通过仔细分析数据,可以学到很多东西。永远不要低估信息的力量。:-)如果您的客户/利益相关者正在利用nunit结果声明您的f