从编码的UI测试中进行记录

时间:2015-07-02 20:12:49

标签: .net logging coded-ui-tests

我一直在使用Visual Studio 2012编写编码的UI测试,并且有一个关于在测试中进行日志记录的问题。

我已就此进行了一些研究,大多数文章都指向了您可以在EqtTraceLevel中启用的App.config切换。这指示测试运行器基本上将每个步骤转储到HTML文件,并带有一个小屏幕上限。很酷。

我希望能够创建自己的自定义日志条目,最好是在同一个HTML日志文件中,或者在同一文件夹中的单独日志文件中。我注意到的一件事是TestContext::WriteLine()方法,它似乎在测试运行时编写跟踪消息。但是,我添加了一行:

context.WriteLine("Database provisioned for test: {0}", dbName);

在我的[ClassInitialize]方法中。但是,我没有看到此跟踪消息出现在我可以找到的任何日志文件中,也没有在Visual Studio的“调试”窗口中看到它。所以,我不完全确定这种方法应该做什么。

在编码的UI测试中创建自定义日志条目的推荐方法是什么,然后在测试运行后可用?或者,我应该只配置NLog或Log4Net之类的东西,并将其输出到与其他日志相同的目录中吗?

更新

取得了一点进展。事实证明,TestContext::WriteLine()有效,但仅限于[TestMethod][ClassInitialize]内工作。我用WriteLine编写的任何内容都将出现在Visual Studio中的测试输出中,因此我假设有某种方法可以配置测试运行器将其转储到文件中。这看起来有点受限,特别是因为我的测试设置和拆卸相当复杂并涉及配置数据库和内容;如果出现问题,我真的想要进行某种记录。我猜测答案是使用第三方日志库。

0 个答案:

没有答案