Package ai.specformula.spring
Class SpecFormulaBridge
java.lang.Object
ai.specformula.spring.SpecFormulaBridge
Cucumber SPI 與 Spring DI 之間的橋接器。
Instance-based 設計:由 SpecFormulaBackendProviderService 建立實例並注入
SpecFormulaBackend。保留 static getInstance() 供
SpecFormulaSpringConfiguration 在 Spring Context 啟動後注入
DataSource、HttpClientAdapter 等。
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidScenario 結束:清除 ScenarioContext,truncate 所有資料表。getConnection(String dataSourceName) 根據 DataSource 名稱取得 Connection,含 fallback 邏輯。getConnectionSupplier(String name) static SpecFormulaBridgevoidinitialize(ISAFeatureArgumentResolver resolver, Map<String, DatabaseSchema> schemaMap, ApiSpec apiSpec, String timeFormat) 初始化 bridge 共用元件。在 spec 讀取完成後呼叫。voidScenario 開始:建立 ScenarioContext,lazy init instructions。voidreset()voidvoidsetConnectionSupplier(String name, Supplier<Connection> supplier) voidsetConnectionSupplier(Supplier<Connection> supplier) voidsetDataSource(String name, DataSource dataSource) 註冊 DataSource。voidsetDataSource(DataSource dataSource) voidsetHttpClient(HttpClientAdapter client) static voidsetInstance(SpecFormulaBridge bridge) voidsetMockTime(MockTime mt)
-
Constructor Details
-
SpecFormulaBridge
public SpecFormulaBridge()
-
-
Method Details
-
getInstance
-
setInstance
-
initialize
public void initialize(ISAFeatureArgumentResolver resolver, Map<String, DatabaseSchema> schemaMap, ApiSpec apiSpec, String timeFormat) 初始化 bridge 共用元件。在 spec 讀取完成後呼叫。 -
currentContext
-
newScenario
public void newScenario()Scenario 開始:建立 ScenarioContext,lazy init instructions。 -
endScenario
public void endScenario()Scenario 結束:清除 ScenarioContext,truncate 所有資料表。 -
getTimeControl
-
getEntitySetup
-
getEntityValidate
-
getEntityNonExistenceValidate
-
getApiCall
-
getJsonApiCall
-
getDataTableResponseValidate
-
getJsonResponseValidate
-
getResolver
-
getSchemaMap
-
getApiSpec
-
getTimeFormat
-
setConnectionSupplier
-
setDataSource
註冊 DataSource。若 dataSource 為
TrackingDataSource,自動啟用 dirty table tracking, 清理時只清理有被 INSERT 的 table;否則清理時會清理全部資料表。 -
getConnectionSupplier
-
getConnectionSupplierMap
-
getDataSourceNames
-
setConnectionSupplier
-
setDataSource
-
getConnectionSupplier
-
getConnection
根據 DataSource 名稱取得 Connection,含 fallback 邏輯。 -
setHttpClient
-
getHttpClient
-
setAuthenticator
-
getAuthenticator
-
setMockTime
-
getMockTime
-
reset
public void reset()
-