День добрый.
Есть куча тестов. В каждом тесте создается новый элемент с рандомный именем. На текущий момент я в конце каждого теста вызываю метод для удаления созданного элемента и передаю в него имя.
Проблема заключается, что возникла необходимость избавиться от этого в каждом тесте и вынести этот процесс в TestCleanup метод.
Вопрос состоит в следующем, каким образом в TestCleanup метод передать параметорм мя элемента для удаления?
Код Clean метода
public void Clean(string templateName)
{
ClickDeleteTemplate(templateName);
ClickConfirmDeleteTemplate();
}
Простой тест
public void RenameTemplate()
{
...
cpiMainPage.Invoke();
cpiModel.CreateTemplate(templateName);
cpiModel.RenameTemplate(templateName, newTemplateName);
var isTemplateRenamed = cpiMainPage.IsElementExistInTheTree(newTemplateName);
Assert.IsTrue(isTemplateRenamed, "Template is not found");
cpiMainPage.Clean(newTemplateName);
}
Если вы используете Dependency Injection, то можно имя шаблона сохранять и потом его вытаскивать в том методе.
Еще как вариант, можно использовать несколько уникальных имен (для каждого теста свое). Тогда во время очистки проверять, какое из имен присутсвует и такое и удалять.
А статические переменные лучше не использовать, они могут сломать параллельное выполнение тестов.