Bläddra i källkod

✅ test(compatibility): improve SDK compatibility test reliability

- 替换具体管理器实现为接口类型引用,增强测试稳定性
- 修改测试用例从直接设置私有属性改为通过公开API初始化SDK
- 为所有涉及管理器创建的测试添加异步初始化过程
- 确保测试环境与实际使用场景一致,提高测试可信度
yourname 2 månader sedan
förälder
incheckning
ed10c1c906
1 ändrade filer med 40 tillägg och 20 borttagningar
  1. 40 20
      packages/stt-sdk-core/tests/compatibility/compatibility.test.ts

+ 40 - 20
packages/stt-sdk-core/tests/compatibility/compatibility.test.ts

@@ -1,13 +1,12 @@
 import { describe, test, expect, beforeEach, afterEach, vi } from 'vitest'
 import { SttSdk } from '../../src/core/stt-sdk'
-import { SttManagerAdapter } from '../../src/managers/stt-manager-adapter'
-import { RtmManagerAdapter } from '../../src/managers/rtm-manager-adapter'
+import type { ISttManagerAdapter, IRtmManagerAdapter } from '../../src/types'
 import { SttError } from '../../src/core/stt-error'
 
 describe('SDK Compatibility Test', () => {
   let sdk: SttSdk
-  let sttManager: SttManagerAdapter
-  let rtmManager: RtmManagerAdapter
+  let sttManager: ISttManagerAdapter
+  let rtmManager: IRtmManagerAdapter
 
   beforeEach(() => {
     sdk = new SttSdk()
@@ -27,9 +26,12 @@ describe('SDK Compatibility Test', () => {
     expect(sdk.config?.appId).toBe('test-app-id')
   })
 
-  test('Should create STT manager with compatible API', () => {
-    // 模拟SDK已初始化
-    sdk._initialized = true
+  test('Should create STT manager with compatible API', async () => {
+    // 先初始化SDK
+    await sdk.initialize({
+      appId: 'test-app-id',
+      logLevel: 'info',
+    })
 
     sttManager = sdk.createSttManager()
 
@@ -47,9 +49,12 @@ describe('SDK Compatibility Test', () => {
     expect(sttManager).toHaveProperty('channel')
   })
 
-  test('Should create RTM manager with compatible API', () => {
-    // 模拟SDK已初始化
-    sdk._initialized = true
+  test('Should create RTM manager with compatible API', async () => {
+    // 先初始化SDK
+    await sdk.initialize({
+      appId: 'test-app-id',
+      logLevel: 'info',
+    })
 
     rtmManager = sdk.createRtmManager()
 
@@ -68,8 +73,11 @@ describe('SDK Compatibility Test', () => {
   })
 
   test('STT manager should handle initialization correctly', async () => {
-    // 模拟SDK已初始化
-    sdk._initialized = true
+    // 先初始化SDK
+    await sdk.initialize({
+      appId: 'test-app-id',
+      logLevel: 'info',
+    })
 
     sttManager = sdk.createSttManager()
 
@@ -85,8 +93,11 @@ describe('SDK Compatibility Test', () => {
   })
 
   test('STT manager should handle transcription lifecycle', async () => {
-    // 模拟SDK已初始化
-    sdk._initialized = true
+    // 先初始化SDK
+    await sdk.initialize({
+      appId: 'test-app-id',
+      logLevel: 'info',
+    })
 
     sttManager = sdk.createSttManager()
     await sttManager.init({
@@ -122,8 +133,11 @@ describe('SDK Compatibility Test', () => {
   })
 
   test('RTM manager should handle channel operations', async () => {
-    // 模拟SDK已初始化
-    sdk._initialized = true
+    // 先初始化SDK
+    await sdk.initialize({
+      appId: 'test-app-id',
+      logLevel: 'info',
+    })
 
     rtmManager = sdk.createRtmManager()
 
@@ -181,8 +195,11 @@ describe('SDK Compatibility Test', () => {
   })
 
   test('Should handle manager destruction correctly', async () => {
-    // 模拟SDK已初始化
-    sdk._initialized = true
+    // 先初始化SDK
+    await sdk.initialize({
+      appId: 'test-app-id',
+      logLevel: 'info',
+    })
 
     sttManager = sdk.createSttManager()
     rtmManager = sdk.createRtmManager()
@@ -207,11 +224,14 @@ describe('SDK Compatibility Test', () => {
     expect(rtmManager.isJoined).toBe(false)
   })
 
-  test('Should maintain backward compatibility with existing API patterns', () => {
+  test('Should maintain backward compatibility with existing API patterns', async () => {
     // 模拟现有应用的使用模式
 
     // 1. 创建管理器实例
-    sdk._initialized = true
+    await sdk.initialize({
+      appId: 'test-app-id',
+      logLevel: 'info',
+    })
     const sttManager = sdk.createSttManager()
     const rtmManager = sdk.createRtmManager()