如何将NUnit测试结果存入数据库

4

你好,我正在尝试将nunit测试结果在运行时写入数据库。因此,我需要一种方法来查看测试是否通过或失败,以便我可以编写代码根据测试结果插入数据库中的值。

那么,在teardown中是否可能获取当前运行测试的状态(通过或失败),以及测试名称和失败原因等信息呢?

谢谢。


好的,我终于开始尝试这个了。出于某种原因,我在nunit工具插件列表中没有看到我创建的插件。 - fohtoh
2个回答

4
在NUnit 2.4.4及以上版本中,您可以使用EventListeners获取实时的TestResult - 您需要从TestFinished方法中将结果写入数据库。
void TestFinished(TestResult result);

测试的名称将是最近一次 TestStarted 调用的名称:
void TestStarted(TestName testName);

为了实现这一点,您需要实现一个NUnit插件,该插件实现EventListeners接口。

我认为这就是我正在寻找的东西。有没有一篇好的文章教如何做到这一点?感谢您的快速回复。 - fohtoh
我刚刚编辑了答案 - 你必须使用那个接口自己制作 NUnit 插件。 - Steve Townsend

1
你想要实时查看结果还是在最后一起查看?如果你只想在最后一起查看,你可以让 NUnit 将它们写入一个 XML 文件:
nunit-console /xml:console-test.xml nunit.tests.dll

你可以编写一个程序来解析XML并将其加载到数据库中。

为了实时查看测试结果,你可以编写自己的NUnit日志插件。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接