gpt4 book ai didi

c# - 使用包含字符串的参数断言

转载 作者:行者123 更新时间:2023-12-04 08:15:54 25 4
gpt4 key购买 nike

我正在使用 MSTestMoq编写单元测试。我想测试是否使用包含子字符串的字符串参数调用了一个方法。

_mockMessageService.Verify(x => x.ShowMessage(It.IsAny<string>()), Times.Once());
在上面的代码中,我可以验证 ShowMessage使用一些字符串参数调用了一次方法,但我想确保该字符串包含像 success 这样的词, fail , partially success等我不能直接传递整个字符串,因为它是不一致的,只有一部分是一致的。是否可以?

最佳答案

It.Is<>()允许使用谓词来验证参数

_mockMessageService.Verify(x => x.ShowMessage(It.Is<string>(s => 
s.Containes("success", StringComparison.InvariantCultureIgnoreCase) ||
s.Containes("fail", StringComparison.InvariantCultureIgnoreCase) ||
s.Containes("partially success", StringComparison.InvariantCultureIgnoreCase)
)), Times.Once());
引用: MOQ Quickstart - Matching Arguments

关于c# - 使用包含字符串的参数断言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65704045/

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