package engine import ( "strings" "testing" ) func TestRenderer(t *testing.T) { r := NewRenderer() tmpl := "🚀 {{.symbol}} 开仓通知\n价格: {{.price}}" data := map[string]interface{}{"symbol": "BTC", "price": 65000} result, err := r.Render(tmpl, data) if err != nil { t.Fatalf("unexpected error: %v", err) } if !strings.Contains(result, "BTC") || !strings.Contains(result, "65000") { t.Errorf("unexpected output: %s", result) } } func TestRenderer_Error(t *testing.T) { r := NewRenderer() _, err := r.Render("{{.nonexistent}}", map[string]interface{}{}) if err == nil { t.Error("expected error for missing field, got nil") } }