Class SpecFormulaSpringConfiguration

java.lang.Object
ai.specformula.spring.SpecFormulaSpringConfiguration

@Configuration @Conditional(CucumberActiveCondition.class) public class SpecFormulaSpringConfiguration extends Object
Spring Configuration,自動將 DataSource 和 HttpClientAdapter 注入 SpecFormulaBridge。

支援多 DataSource:Spring 自動注入 Map<String, DataSource>,key 為 bean name,value 為 DataSource 實例。

HttpClientAdapter 自動偵測優先順序:

  1. 使用者自訂的 HttpClientAdapter bean(最高優先)
  2. MockMvc(@AutoConfigureMockMvc)
  3. TestRestTemplate(@SpringBootTest(webEnvironment=RANDOM_PORT))
  • Constructor Details

    • SpecFormulaSpringConfiguration

      public SpecFormulaSpringConfiguration()
  • Method Details

    • setDataSources

      @Autowired public void setDataSources(Map<String,DataSource> dataSources)
    • autoDetectHttpClient

      @Autowired public void autoDetectHttpClient(org.springframework.context.ApplicationContext ctx)
      自動偵測可用的 HTTP 測試框架並注入對應的 HttpClientAdapter。

      偵測優先順序:

      1. 使用者自訂 HttpClientAdapter bean
      2. MockMvc
      3. TestRestTemplate(透過 reflection,classpath 上沒有時自動跳過)
    • setAuthenticator

      @Autowired(required=false) public void setAuthenticator(Authenticator authenticator)
    • featureArgumentResolver

      @Bean public FeatureArgumentResolver featureArgumentResolver()
    • mockTime

      @Bean public MockTime mockTime()
    • scenarioContextAccessor

      @Bean public ScenarioContextAccessor scenarioContextAccessor()
    • timeControlInstruction

      @Bean public TimeControlInstruction timeControlInstruction()
    • entitySetupInstruction

      @Bean public EntitySetupInstruction entitySetupInstruction()
    • entityValidateInstruction

      @Bean public EntityValidateInstruction entityValidateInstruction()
    • entityNonExistenceValidateInstruction

      @Bean public EntityNonExistenceValidateInstruction entityNonExistenceValidateInstruction()
    • apiCallInstruction

      @Bean public ApiCallInstruction apiCallInstruction()
    • responseValidateInstruction

      @Bean public ResponseValidateInstruction responseValidateInstruction()