Я использую MoQ и C# для издевательства публичного свойства, и я хочу знать, был ли вызван один из методов mock с любыми строками, начинающимися с определенным набором символов.C# - Метод метода mocked (MoQ) был вызван с частью строки в качестве параметра
Так, например, в то время как я знаю, что это работает:
mockLogger.Verify(x => x.Information($"Entering {methodName}"), Times.Once);
Я пытаюсь с ниже попытки, чтобы увидеть, если Information()
метод mockLogger
«s была вызвана с параметром, начиная с $"Exception in {methodName} - Error Message: {ex.Message} - StackTrace:"
mockLogger.Verify(x => x.Information($"Exception in {methodName}: " +
$"Error Message: {exceptionMessage} - " +
$"StackTrace: ........"), Times.Once);
Это невозможно? Или есть какое-то обходное решение?
EDIT:
Я даже пытался
mockLogger.Verify(x => x.Information($"Exception in {methodName}: " +
$"Error Message: {exceptionMessage} - " +
$"StackTrace: " + It.IsAny<string>()),
Times.Once);
но это, кажется, не работает.
Блестящий! Ему понадобилась еще одна закрывающая скобка после 'searchString':' s.StartsWith (searchString))) ', но это именно то, что я искал. Благодарю. – Ash
@AshwinNair Спасибо. Закрывающие скобки в проверке всегда меня бросают по какой-то причине. – LukeW