gpt4 book ai didi

testing - NSubstitute 模拟 NLog 记录器失败

转载 作者:行者123 更新时间:2023-11-28 20:55:29 26 4
gpt4 key购买 nike

我有一个如下所示的测试:

[Test]
public void LoggerTest()
{
var log = Substitute.For<Logger>();
log.DidNotReceiveWithAnyArgs().Info("");
log.ReceivedWithAnyArgs().Info("");
}

测试成功,但显然不应该。据我所知,这是根据 NSubstitue 网站的语法。谁能告诉我问题出在哪里?

我在 NuGet 包管理器中使用版本 1.7.2.0 中的 NSubstitue。

最佳答案

NLog.Logger是一个具有非虚拟成员的具体类,因此 NSubstitute 将无法使用它(参见 Creating a substitute 上的注释)。

如果您需要测试日志记录,一种选择是将日志功能包装在您自己的特定于应用程序的界面中。这使得更容易替换为测试目的的新记录器(可以使用 NSubstitute 或其他模拟库,或者手动编写您自己的 TestLogger 为您的测试目的量身定制)。

关于testing - NSubstitute 模拟 NLog 记录器失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24995222/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com