首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >nunit与log4net

nunit与log4net
EN

Stack Overflow用户
提问于 2012-05-02 00:39:27
回答 3查看 1.4K关注 0票数 0

我无法使用nunit测试我的log4net库。我阅读了谷歌返回的搜索结果,但无法理解。

这是我正在犯的错误。

System.IO.FileNotFoundException :无法加载文件或程序集“log4net、Version=1.2.10.0、Culture=neutral、PublicKeyToken=692fbea5521e1304”或其依赖项之一。系统找不到指定的文件。

在我的nunit测试项目中,我添加了更正log4net dll的引用,其他项目都在使用并添加了配置文件,但没有成功。

我的控制台应用程序和使用log4net libaray的测试web应用程序工作正常。

我似乎只对log4net单元测试项目有问题。

如何开始使用涉及log4net库的简单nunit测试。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-05-03 20:33:26

您应该接受任何您想要测试的ILog。然后,您应该模拟它,并将它传递给您想要测试的任何内容。log4net的版本根本不重要。您的测试甚至不应该知道log4net的存在。

使用Rhinomocks,这将是:

代码语言:javascript
复制
MockRepository mocks = new MockRepository();
ILog mockLog = mocks.DynamicMock<ILog>();

另外,您也可以使用存根:

代码语言:javascript
复制
ILog mockLog = MockRepository.GenerateStub<ILog>();
票数 1
EN

Stack Overflow用户

发布于 2012-05-02 07:39:13

检查测试项目和测试引用的项目的Version of log4net.dll是否相同(顺便说一句,log4net的最新版本为1.2.11.0)。还请验证Copy Local是否设置为true。

如果您涉及的是log4net库,那么这可能是集成测试,而不是单元测试。

票数 0
EN

Stack Overflow用户

发布于 2012-05-27 17:00:10

再次检查您所包含的运行时log4net.dll文件。看起来它无法与项目的.NET运行时CLR相匹配。检查应用程序的目标网络版本(Project -> Properties),并确保它与log4net.dll的目标版本相匹配。注: log4net的1.2.11版本包含高达4.0版本的二进制文件,并注意到客户端配置文件版本与完整版本不同,需要它们自己的特定dll文件。

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

https://stackoverflow.com/questions/10406284

复制
相关文章

相似问题

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