首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在单元测试下运行时,log4net无法找到线程id

在单元测试下运行时,log4net无法找到线程id
EN

Stack Overflow用户
提问于 2012-05-31 00:36:28
回答 1查看 500关注 0票数 0

我有一个log4net,它写下这样的条目:

代码语言:javascript
复制
<conversionPattern value="[%date{yyyy-MM-dd HH:mm:ss}] [%property{machineName}] [%property{pid}] [%thread] [%-5level]: %message%newline"/>

除了运行单元测试之外,一切都运行得很好。如果我不模拟记录器,并且测试使用真实的对象,那么我得到的不是threadId,而是

代码语言:javascript
复制
Agent: adapter run thread for test 'Log4NetLogger_TestLoggingMachineNamePrinted' with id '84e27809-f2b8-45b4-a2e1-ce305d20bc0c'

因此,很明显,当log4net在测试运行器中使用时,它会感到困惑。如果我正常运行应用程序,那么我会得到一个正常的线程id。

有谁知道解决这个问题的办法吗?我正在使用MSTest。MSTest测试运行器和R#测试运行器具有相同的行为。

提前感谢您阅读我的问题。

乔治

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-05-31 15:07:18

在单元测试项目中添加对log4net的引用可能会做到这一点(请参阅this answer)。

话虽如此,在这种情况下您可能不需要日志记录(除非这些是真正的集成测试),因此最好使用Stub而不是真正的记录器对象。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10820506

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档