Skip to content

Добавить ReplaceVariables на максимально возможное число параметров (лучше все )) #173

Description

@alexius595

Случаи, когда было бы полезно применять ReplaceVariables ко всем параметрам

  1. Then я сохраняю дату {day}.{month}.{year} в формате "{format}" в переменную "{varName}" - format - можно было бы хранить в переменной, + можно было бы одну дату сохранить в другом формате например

Then я сохраняю дату {{MyDate}} в формате "{{MyFormat}}" в переменную "MyFormattedDate"

  1. Then я подставляю значение переменной ""(.+)"" в текст ""(.*)"" и сохраняю в переменную ""(.+)"""

из-за того что текст не заменяет переменные пришлось делать шаг

[StepDefinition(@"я заменяю в переменной ""(.+)"" текст ""(.*)"" на ""(.+)""")]
    public void ReplaceTextInVar(string varName, string text, string replacement)
    {
        text = _variableContext.ReplaceVariables(text);
        replacement = _variableContext.ReplaceVariables(replacement);
        _variableContext.CheckVariableByKey(varName).Should().BeTrue();
        _variableContext.SetVariable(varName, typeof(string), _variableContext.GetVariable(varName).Value.ToString().Replace(text, replacement));
    }
  1. Все шаги работы с БД - уже обсуждали достаточно экзотичный кейс, но есть потребность передавать имя коннекшен из переменной
  2. Шаги типа [Then(@"я убеждаюсь, что значение переменной ""(.+)"" начинается с ""(.+)""")] можно было бы использовать в таоком виде

Then я убеждаюсь, что "Info:{{Boy}} любит {{Girl}}" начинается с "{{MesType}}:{{LoveMessage}}"

  1. Не всегда очевидно где будет replace, а где нет - приходится лазить в исходники или пробовать

В целом очень сильно добавляется гибкости, учитывая возможность использования функций типа {{Trim(Mystr)}}

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions