TestRunBatch_WithMetadata 测试带元数据的批量评估
(t *testing.T)
| 239 | |
| 240 | // TestRunBatch_WithMetadata 测试带元数据的批量评估 |
| 241 | func TestRunBatch_WithMetadata(t *testing.T) { |
| 242 | mockProvider := &MockProvider{ |
| 243 | response: `{"score": 0.80, "reason": "元数据测试"}`, |
| 244 | } |
| 245 | |
| 246 | testCases := []*BatchTestCase{ |
| 247 | { |
| 248 | ID: "case1", |
| 249 | Input: &TextEvalInput{ |
| 250 | Answer: "测试答案", |
| 251 | }, |
| 252 | Metadata: map[string]any{ |
| 253 | "source": "test", |
| 254 | "priority": 1, |
| 255 | }, |
| 256 | }, |
| 257 | } |
| 258 | |
| 259 | scorers := []Scorer{ |
| 260 | NewFaithfulnessScorer(mockProvider), |
| 261 | } |
| 262 | |
| 263 | result, err := RunBatchSimple(context.Background(), testCases, scorers) |
| 264 | if err != nil { |
| 265 | t.Fatalf("RunBatchSimple() error = %v", err) |
| 266 | } |
| 267 | |
| 268 | // 验证元数据被保留 |
| 269 | if result.Results[0].Metadata == nil { |
| 270 | t.Error("Result metadata is nil") |
| 271 | } |
| 272 | |
| 273 | if result.Results[0].Metadata["source"] != "test" { |
| 274 | t.Errorf("Metadata source = %v, want test", result.Results[0].Metadata["source"]) |
| 275 | } |
| 276 | } |
| 277 | |
| 278 | // TestCalculateSummary 测试汇总计算 |
| 279 | func TestCalculateSummary(t *testing.T) { |
nothing calls this directly
no test coverage detected