XML将是由nunit-console生成的XML。 我希望能够将XML最少地导入到某些数据库中,然后可以用于持久化和呈现结果。 我们将拥有许多自定义类别,我们需要能够在这些类别之间进行排序。
是否有人知道可以处理导入此类型数据并可根据我们个人需求进行自定义的数据库模式? 这种问题似乎很常见,因此应该存在通用解决方案,但我似乎找不到一个。 如果有人之前实现过这样的解决方案,也会很感激得到建议。
我觉得你实际上需要的是一个构建服务器,比如CruiseControl.NET或者TeamCity。
让构建服务器运行测试,它会告诉人们哪些测试失败了以及失败原因。
我推荐使用TeamCity,因为它的设置要容易得多。
我在这里希望解决相同的问题。我们目前倾向于编写XSLT将XML结果转换为插入语句。然后通过命令行SQL解释器运行插入语句的结果文件。理想情况下,我更愿意拥有一个处理所有这些的NUnit插件/扩展。不幸的是,我还没有找到一个。
在使用 MS SQL 时,您可以将所有 XML 导入到 [xml] 数据类型的公共列中。在此基础上,可以执行 xpaths、搜索和转换操作。
如果你的经费紧张,另一个替代CruiseControl或TeamCity的选择是Atlassians Bamboo。我非常喜欢他们的软件,因为它易于使用,并且他们有一项交易,可以让你以10美元的价格获得Bamboo。
我们本来希望避免这种情况,但我们已经从NUnit结果XML模式生成了一个数据库模式;然而,它有点不足,因为NUnit对一些关键统计数据(例如“忽略”与“未运行”)进行了一些(不准确和奇怪的)处理。
我们仍然希望找到一个不是完整的CIT构建系统的模式/流程,可以让我们定制导入结果的数据库,但目前我们正在使用一个手动编写的数据库,我们需要对其进行大量定制才能获得所需的报告。
你为什么需要将结果存储在数据库中?谁会使用它们?失败的数量不能太多。如果是(反复出现),那么你的开发流程就有问题了。修复这个流程。消除浪费(精益原则之一),不要收集它。
采取更小的步骤(更短的迭代,持续构建),消除依赖关系。
这通常不被执行,因为存在这些问题的项目无法交付,最终被取消。
[编辑] Michael,长时间跟踪nunit故障不提供任何价值。你需要一个短的反馈循环。立即解决问题。如果你等到积累了很多问题,你将被噪音淹没。
良好的问题跟踪是在正确的(尽可能高的)抽象级别上完成的。绝对不是单元测试。