繁体   English   中英

nunit和log4net

[英]nunit and log4net

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

这是我得到的错误。

System.IO.FileNotFoundException:无法加载文件或程序集'log4net,版本= 1.2.10.0,文化=中性,PublicKeyToken = 692fbea5521e1304'或其依赖项之一。 该系统找不到指定的文件。

在我的nunit测试项目中,我添加了对其他项目正在使用的正确log4net dll的引用,并添加了配置文件,但没有运气。

使用log4net libaray的我的控制台应用程序和测试Web应用程序运行正常。

我似乎只有log4net nunit测试项目有问题。

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

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

使用Rhinomocks,这将是:

MockRepository mocks = new MockRepository();
ILog mockLog = mocks.DynamicMock<ILog>();

或者,您可以使用存根:

ILog mockLog = MockRepository.GenerateStub<ILog>();

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

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

仔细检查您包含的运行时log4net.dll文件。 看起来它与项目的.NET运行时CLR不匹配。 检查应用程序的目标NET版本(“项目”->“属性”),并确保它与log4net.dll的目标版本匹配。 注意log4net的版本1.2.11包括最高4.0版的二进制文件,并且还注意到客户端配置文件版本与完整版本不同,需要它们自己的特定dll文件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM