package document import ( "os" "testing" ) // 测试用结构体 type TestDoc struct { ID string `bson:"_id"` Name string `bson:"name"` Age int `bson:"age"` } func TestDocumentStore(t *testing.T) { // 测试目录 dir := "./testdb" defer os.RemoveAll(dir) // 初始化文档存储 ds, err := NewDocumentStore(dir) if err != nil { t.Fatalf("Failed to create document store: %v", err) } defer ds.storage.Close() // 测试文档ID testID := "001" // 测试文档内容 testDoc := TestDoc{ ID: testID, Name: "Alice", Age: 30, } // 测试存储和获取 if err := ds.StoreDocument(testID, testDoc); err != nil { t.Errorf("StoreDocument failed: %v", err) } var result TestDoc if err := ds.GetDocument(testID, &result); err != nil { t.Errorf("GetDocument failed: %v", err) } if result.Name != testDoc.Name || result.Age != testDoc.Age { t.Errorf("Retrieved document mismatch: got %+v want %+v", result, testDoc) } // 测试删除功能 if err := ds.DeleteDocument(testID); err != nil { t.Errorf("DeleteDocument failed: %v", err) } if err := ds.GetDocument(testID, &result); err == nil { t.Errorf("Expected error after DeleteDocument") } }