28 lines
657 B
Go
28 lines
657 B
Go
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")
|
|
}
|
|
}
|