假设我标记了 Cucumber 功能@api
@api
Feature: BankID authentication
Scenario Outline: Successful authentication of user using BankID
Given the initial flow start URL
When I enter that "<url>" into my browser
...
和执行步骤如下:
public class ApiSteps implements En {
public ApiSteps (ABCinjected abcInjected) {
Given("^the initial flow start URL $", () -> {});
When("^I enter that \"([^\"]*)\" into my browser$", abcInjected::navigateToAuthenticationPage);
...
}
即使我通过指定不同的 Cucumber 标签或显式指定不执行此功能 tags = {"not @api"}
,尽管步骤本身并未执行,但 Picocontainer 仍会创建并注入 ABCinjected 类的实例,这是不可取的。是否可以控制这种行为?我假设如果功能被标记为不被执行并且相关的场景/步骤被忽略,那么连续 DI 不应该发生。