[小技巧]自动化测试时NLog的消息输出到测试结果中

平常我会用Visual Stuido的测试项目,写一些自动化测试,如单元测试、整合测试等等,受测的Code中有很多地方用NLog记录消息,在正试的环境,会写到数据库,但测试时我会想把消息输出到每一个测试的结果中,除了节省数据库外,也比较容易追纵错误消息。

平常我会用Visual Stuido的测试项目,写一些自动化测试,如单元测试、整合测试等等,受测的Code中有很多地方用NLog记录消息,在正试的环境,会写到数据库,但测试时我会想把消息输出到每一个测试的结果中,除了节省数据库外,也比较容易追纵错误消息。

NLog配置文件

是.Net中很热门的Log记录,使用与设定都很简单,这里说明一下测试项目需要的配置文件,我的习惯是写成独立的文件,不过也可以写到web.config、app.config中



注意我的type是用Console,为什么呢?

因为Visual Studio的测试支持将

  • System.Console
  • System.Diagnostics.Trace
  • System.Diagnostics.Debug

这三个Class在测试时,所Write的消息都会写到测试结果中,而为什么不用NLog的DebugTarget或Trace Target呢,因为NLog的

Debug是用StringBuilder记录,不会输出到测试结果中。

Trace会输出到测试结果中,只是NLog消息大于Error会引发Trace.Fail,会跳出侦错对话框,使得自动化测试中断。

图一 Trace.Fail的侦错话框

Note:

NLog的Targets有AspNet,AspResponse,Chainsaw,ColoredConsole,Console,Database,Debug,Debugger,EventLog,File,FormControl,LogReceiverService,Mail,Memory,MessageBox,MethodCall,MSMQ,Network,NLogViewer,Null,OutputDebugString,PerfCounter,RichTextBox,Trace,WebService等25种,测试过还是Console在测试时比较好用。

?

文件属性

文件的属性用设成如下

?

图二 文件属性

测试

写个简单的Code来测测看结果吧

public class Sample {
    private static Logger logger = LogManager.GetCurrentClassLogger();

    public void Foo() {
        logger.Trace("Start");
        //================
        logger.Trace("tDo Something");
        //================
        logger.Trace("End");
    }
}

[TestMethod]
public void FooTest()
{
    var sample = new Sample();
    sample.Foo();
}

图3 NLog输出到测试结果

原文:大专栏  [小技巧]自动化测试时NLog的消息输出到测试结果中

原文地址:https://www.cnblogs.com/chinatrump/p/11505076.html

时间: 2024-11-08 12:42:19

[小技巧]自动化测试时NLog的消息输出到测试结果中的相关文章

需求:有一个猜数字小游戏,请写一个程序实现在测试类中只能使用5次,超过5次提示:游戏试玩结束,请付费。

package cn.idcast4; import java.io.FileNotFoundException;import java.io.FileReader;import java.io.FileWriter;import java.io.IOException;import java.io.Reader;import java.io.Writer;import java.util.Properties; /* * 需求:有一个猜数字小游戏,请写一个程序实现在测试类中只能使用5次, *

hadoop编程小技巧(7)---自己定义输出文件格式以及输出到不同文件夹

代码測试环境:Hadoop2.4 应用场景:当须要定制输出数据格式时能够採用此技巧,包含定制输出数据的展现形式.输出路径.输出文件名称称等. Hadoop内置的输出文件格式有: 1)FileOutputFormat<K,V>  经常使用的父类. 2)TextOutputFormat<K,V> 默认输出字符串输出格式. 3)SequenceFileOutputFormat<K,V> 序列化文件输出: 4)MultipleOutputs<K,V> 能够把输出数据

Xcode快捷键、小技巧与xib圆角设置

快捷键: 1.StoryBoard技巧 当你想直接在view中选择自己想要的元素时,但是又碍于一个view上叠加的元素太多很难直接选中,那么在这时,你同时按住键盘上的shift和 control键,然后在你想选择的元素上点击鼠标,会弹出一个窗口,上面罗列了鼠标点击的位置下所有存在的元素,然后你再去进行选择会变的异常的简单. 参考:三十而立,从零开始学ios开发(十七):Storyboards(上) - minglz - 博客园 2.快速定位到左下角搜索框的快捷键: 有时候想搜索一个文件,常规的做

BizTalk开发小技巧

BizTalk开发小技巧 随笔分类 - Biztalk Biztalk 使用BizTalk实现RosettaNet B2B So Easy 摘要: 使用BizTalk实现RosettaNet B2B So Easy最近完成了一个vmi-hub的B2B项目,使用Rosettanet 2.0的标准与一家品牌商,OEM,供应商实现B2B.一共交换4个报文,4B2,3B2,4B2 POD,4C1,说白了就是收发存这些数据:项目环境BizTalk2009...阅读全文 posted @ 2015-10-2

ios开发日记 -16 Xcode6快捷键、小技巧与xib圆角设置

以下都是使用Xcode6的一些记录,比较杂,不定期持续更新…… 快捷键: 1.StoryBoard技巧 当你想直接在view中选择自己想要的元素时,但是又碍于一个view上叠加的元素太多很难直接选中,那么在这时,你同时按住键盘上的shift和 control键,然后在你想选择的元素上点击鼠标,会弹出一个窗口,上面罗列了鼠标点击的位置下所有存在的元素,然后你再去进行选择会变的异常的简单. 2.快速在文件树视力中切换到当前文件 在Xcode中经常会遇到跳转比较多的情形,有时候若跳转到某个m文件,然后

牛腩新闻系统(五)——一些小技巧

 牛腩新闻系统(五)-成长小技巧 在牛腩新闻系统的学习和编码过程中,老师指引了不少的学习技巧,帮我们快速并高 效的学习,让系统运行,这些看似不难,但是很实用,我想不仅仅是在这次牛腩系统, 以后也会有很大的用处的,比如,让代码变得整洁.看起来舒适,之前我就是按空格 键,让代码变得更加的整齐好看,但是这样的时间和精力真的花费很大,现在知道只要 Ctrl+k和Ctrl+D就行了,整页的代码都自动规范化了,变得相当的整齐. 1.设置代码文档成整齐格式: 编辑--设置文档格式Ctrl+k,Ctrl+D 2

数组去重的两个小技巧

数组去重的两个小技巧 首先es6有提供了 Set 对象, 同java中的 Set, set中的值不可以重复. 所以对于一个数组我们可以直接采用 const duplicateArr = [2,3,4,4,4,3]; const newArray = [...new Set(duplicateArr)]; console.log(newArray); 可以采用filter函数进行过滤, 查看index 是否跟当前的index一致. 因为indexOf返回的是第一个查找的位置 const dupli

对于shell脚本参数获取时的一点小技巧

问题如下: 根据脚本参数的个数$#进行一个循环,在依次输出每个参数$1 $2 $3...... 我有一个循环变量i $i 取到这时的i为1,我想使用这个1再去调用$1,也是就是打印出第一个参数 就是$($i)的意思来取到第几个参数,当然$($i)是不好用的 当时纠结了好久,最后上百度提问,两位高手给出了答案: 1) #!/bin/sh NUMBER=$# echo $NUMBER i=1 while [ $i -le $NUMBER ] do a[$i]=$1 #将数组a[i]赋值为$1,即取得

hadoop编程小技巧(7)---自定义输出文件格式以及输出到不同目录

代码测试环境:Hadoop2.4 应用场景:当需要定制输出数据格式时可以采用此技巧,包括定制输出数据的展现形式,输出路径,输出文件名称等. Hadoop内置的输出文件格式有: 1)FileOutputFormat<K,V>  常用的父类: 2)TextOutputFormat<K,V> 默认输出字符串输出格式: 3)SequenceFileOutputFormat<K,V> 序列化文件输出: 4)MultipleOutputs<K,V> 可以把输出数据输送到