Spe c Ошибка выброса потока. Входная строка была в неправильном формате - PullRequest
0 голосов
/ 17 апреля 2020

У меня есть следующая строка в файле объектов

When user changes the ATM: Limit Offline to any amount between '$150 and $520'

, которая генерирует следующее определение

[When(@"user changes the ATM: Limit Offline to any amount between '(.*)'")]
public void WhenUserChangesTheATMLimitOfflineToAnyAmountBetween(string p0)
{
    _cardOfflineLimitScard.ResetOfflineLimit("ATM");
}

Мне не нужна строка p0, но если я удалю ее вручную шаг остается связанным, но во время выполнения я получаю сообщение об ошибке:

Введенная строка не в правильном формате

1 Ответ

0 голосов
/ 17 апреля 2020

Вам нужно экранировать символы знака доллара. Строка интерпретируется как регулярное выражение, а $ соответствует концу строки в регулярном выражении.

[When(@"user changes the ATM: Limit Offline to any amount between \$([0-9]+) and \$([0-9]+)")]
public void WhenUserChangesTheATMLimitOfflineToAnyAmountBetween(decimal lowAmount, decimal highAmount)
{
    ...
}

Теперь вы можете использовать числа в определении шага, если хотите.

Ссылка: Использование регулярных выражений с Microsoft. NET Framework .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...