Я пытаюсь воссоздать свой шаг BeforeTestRun, чтобы запустить мою настройку только один раз за все выполнение, а не для каждого потока.
Я просмотрел шаги пользовательского развертывания, которые я уже реализовал, но для моей настройки мне нужно ввести некоторые значения из файла app.config. Я пытаюсь что-то вроде этого
мой файл Default.srprofile содержит:
<DeploymentTransformation>
<GlobalSteps>
<Custom type="Test.CustomDeploymentStep, Test"></Custom>
</GlobalSteps>
</DeploymentTransformation>
и мой CustomDeploymentStep.cs:
public class CustomDeploymentStep : IDeploymentTransformationStep
{
public static string baseUrl;
public void Apply(IDeploymentContext deploymentContext)
{
baseUrl = ConfigurationManager.AppSettings["URL"];
}
public void Restore(IDeploymentContext deploymentContext)
{
DoSomething();
}
}
Моя конфигурация приложения содержит следующее:
<add key="URL" value="http://google.com" />
Но это не работает, ConfigurationManager.AppSettings
возвращает только один ключ и одно значение
"key" : "TestProjectRetargetTo35Allowed" "value":"true"
Как я могу загрузить свою конфигурацию из app.config в метод Apply()
в CustomDeploymentStep?
Также, если есть лучший/более эффективный способ создания предопределенных данных в specflow с потокобезопасным выполнением, пожалуйста, дайте мне знать
ConfigurationManager.AppSettings
-- во множественном числе? - person Greg Burghardt   schedule 02.09.2020