Я нашел способ передать параметры в TestContext и затем получить к ним доступ из SpecFlow.
Добавив [TestClass], который имеет свойство TestContext, и пометив его метод AssemblyInit () как [AssemblyInitialize], чтобы он был инициализирован заблаговременно до запуска тестов, и MSTest сможет заполнить TestContext.
{
[TestClass]
public class InitializeTestContext
{
public static TestContext Context { get; private set; }
[AssemblyInitialize]
public static void AssemblyInit(TestContext context)
{
Context = context;
}
}
}
А затем можете получить к нему доступ из моего класса BaseSteps:
{
public abstract class BaseSteps : TechTalk.SpecFlow.Steps
{
public string GetTestEnvironment()
{
TestContext testContext = InitializeTestContext.Context;
string testEnvironment = testContext.Properties["Environment"].ToString();
return testEnvironment;
}
}
}