Вот мой класс Hooks в SpecFlow.
public sealed class Hooks
{
private readonly IObjectContainer _objectContainer;
public ConcurApiHooks(IObjectContainer objectContainer)
{
_objectContainer = objectContainer;
}
[BeforeScenario]
public void BeforeScenario()
{
var httpClient1 = new HttpClient();
var httpClient2 = new HttpClient();
_objectContainer.RegisterInstanceAs(httpClient1, "client1");
_objectContainer.RegisterInstanceAs(httpClient2, "client2");
}
[AfterScenario]
public void AfterScenario()
{
//TODO: implement logic that has to run after executing each scenario
}
}
Я хочу зарегистрировать два клиента HttpClient, поскольку они будут содержать разные базовые конечные точки, аутентификацию и т. Д. c. Вплоть до этого момента все это действует и SpecFlow позволяет это делать.
Я не могу заставить это работать, потому что это потребление в моем классе Steps.
[Binding]
public sealed class ApiSteps : Steps
{
public ConcurApiSteps(HttpClient httpClient1, HttpClient httpClient2)
{
}
}
Is Есть ли способ сделать это? Я бы так подумал из-за того, что вы можете назвать экземпляр, который вы зарегистрировали, но я не могу заставить его работать.