gpt4 book ai didi

Moq - It.IsAny() 始终返回 null

转载 作者:行者123 更新时间:2023-12-01 21:25:56 26 4
gpt4 key购买 nike

可能导致什么It.IsAny<string>()每次调用都返回 null?我假设它被设计为返回非空字符串是错误的吗?

下面是用法 - Login 方法因第二个参数(连接字符串)为空而引发 ArgumentNullException。我假设It.IsAny<string>()将提供一个非空字符串,这将绕过 ArgumentNullException。

var mockApiHelper = new Mock<ApiHelper>();
mockApiHelper.Setup(m => m.Connect(It.IsAny<string>(),
It.IsAny<string>(),
It.IsAny<string>()));

var repositoryPlugin = new RepositoryPlugin(mockApiHelper.Object);
repositoryPlugin.Login(new CredentialsInfo(), It.IsAny<string>());

Assert.IsTrue(repositoryPlugin.LoggedIn,
"LoggedIn property should be true after the user logs in.");

最佳答案

嗯, It.IsAny<TValue> 只是返回调用 Match<TValue>.Create 的结果- 依次返回 default(TValue) 。对于任何引用类型来说,该值都将为 null。

目前尚不清楚您是否真的在正确的对象上调用它 - 您不应该在模拟上调用它而不是在真实代码上吗?

我见过的所有示例都使用 It.IsAnymock.Setup 的背景下称呼。您能否提供有关如何尝试使用它的更多信息?

关于Moq - It.IsAny<string>() 始终返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6098624/

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