mirror of
https://github.com/Syngnat/GoNavi.git
synced 2026-08-21 16:34:21 +08:00
🔥 remove(go-test): 删除后端读取源码文本断言的测试函数
- 移除 99 个仅读取同包 .go 源码做字符串包含断言的测试函数,共 3746 行 - 判据为函数内出现 os.ReadFile 读取 .go 文件且剥离字符串字面量后不调用任何生产代码 - 保留 2 个同时调用生产接口的测试函数,清理 45 个文件中失去引用的 import - go build、go vet 通过,测试失败集合由 40 项减至 39 项且无新增,减少项为已长期失败的墓碑用例
This commit is contained in:
@@ -6,7 +6,6 @@ import (
|
||||
"GoNavi-Wails/shared/i18n"
|
||||
"errors"
|
||||
"fmt"
|
||||
"os"
|
||||
"reflect"
|
||||
"strings"
|
||||
"testing"
|
||||
@@ -136,71 +135,6 @@ func assertNoLegacySourceQueryChinese(t *testing.T, text string) {
|
||||
}
|
||||
}
|
||||
|
||||
func TestSourceQuerySyncUsesLocalizedBackendTextSourceGuard(t *testing.T) {
|
||||
sourceBytes, err := os.ReadFile("source_query_sync.go")
|
||||
if err != nil {
|
||||
t.Fatalf("read source_query_sync.go: %v", err)
|
||||
}
|
||||
source := string(sourceBytes)
|
||||
|
||||
legacyMessages := []string{
|
||||
`fmt.Errorf("源查询 SQL 不能为空")`,
|
||||
`fmt.Errorf("SQL 结果集同步当前仅支持“仅同步数据”")`,
|
||||
`fmt.Errorf("SQL 结果集同步要求且仅允许选择一个目标表")`,
|
||||
`fmt.Errorf("目标表不能为空")`,
|
||||
`fmt.Errorf("目标表无主键,不支持基于 SQL 结果集的差异分析")`,
|
||||
`fmt.Errorf("目标表为复合主键(%s),暂不支持基于 SQL 结果集的差异分析", strings.Join(pkCols, ","))`,
|
||||
`fmt.Errorf("获取目标表字段失败: %w", err)`,
|
||||
`fmt.Errorf("目标表 %s 不存在或未读取到字段定义", tableName)`,
|
||||
`fmt.Errorf("执行源查询失败: %w", err)`,
|
||||
`fmt.Errorf("读取目标表失败: %w", err)`,
|
||||
"\u521d\u59cb\u5316\u6e90\u6570\u636e\u5e93\u9a71\u52a8\u5931\u8d25: ",
|
||||
"\u521d\u59cb\u5316\u76ee\u6807\u6570\u636e\u5e93\u9a71\u52a8\u5931\u8d25: ",
|
||||
"\u6e90\u6570\u636e\u5e93\u8fde\u63a5\u5931\u8d25: ",
|
||||
"\u76ee\u6807\u6570\u636e\u5e93\u8fde\u63a5\u5931\u8d25: ",
|
||||
"已完成 1 个目标表的差异分析",
|
||||
"SQL 结果集差异分析完成",
|
||||
"SQL 结果集同步预览",
|
||||
"差异分析开始",
|
||||
"差异分析完成",
|
||||
"开始同步",
|
||||
"同步来源:SQL 结果集 -> 目标表",
|
||||
}
|
||||
for _, legacy := range legacyMessages {
|
||||
if strings.Contains(source, legacy) {
|
||||
t.Fatalf("source_query_sync.go still contains legacy raw user-visible message %q", legacy)
|
||||
}
|
||||
}
|
||||
|
||||
requiredKeys := []string{
|
||||
"data_sync.backend.validation.source_query_required",
|
||||
"data_sync.backend.validation.query_mode_data_only",
|
||||
"data_sync.backend.validation.single_target_table_required",
|
||||
"data_sync.backend.validation.target_table_required",
|
||||
"data_sync.backend.error.target_pk_required_for_query_diff",
|
||||
"data_sync.backend.error.target_composite_pk_query_diff_unsupported",
|
||||
"data_sync.backend.error.load_target_columns_failed",
|
||||
"data_sync.backend.error.target_table_columns_missing",
|
||||
"data_sync.backend.error.execute_source_query_failed",
|
||||
"data_sync.backend.error.read_target_table_failed",
|
||||
"data_sync.backend.error.init_source_driver_failed",
|
||||
"data_sync.backend.error.init_target_driver_failed",
|
||||
"data_sync.backend.error.connect_source_failed",
|
||||
"data_sync.backend.error.connect_target_failed",
|
||||
"data_sync.backend.result.analyzed_target_tables",
|
||||
"data_sync.backend.summary.source_query_diff_completed",
|
||||
"data_sync.plan.source_query_preview",
|
||||
"data_sync.progress.stage.analysis_started",
|
||||
"data_sync.progress.stage.analysis_completed",
|
||||
"data_sync.progress.stage.sync_started",
|
||||
"data_sync.backend.log.source_query_sync_source",
|
||||
}
|
||||
for _, key := range requiredKeys {
|
||||
if !strings.Contains(source, key) {
|
||||
t.Fatalf("source_query_sync.go should reference localized key %q", key)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func TestSourceQuerySyncCatalogKeysExist(t *testing.T) {
|
||||
catalogs, err := i18n.LoadCatalogs()
|
||||
|
||||
Reference in New Issue
Block a user