Testing¶
Testing¶
Unit Tests¶
Use the noop collector — Props.Collector is always non-nil:
Or create a disabled collector for explicit testing:
c := telemetry.NewCollector(telemetry.Config{}, telemetry.NewNoopBackend(),
"test", "1.0.0", nil, logger.NewNoop(), "", props.DeliveryAtLeastOnce)
Verifying Events¶
Use a spy backend to capture events in tests:
type spyBackend struct {
events []telemetry.Event
mu sync.Mutex
}
func (s *spyBackend) Send(_ context.Context, events []telemetry.Event) error {
s.mu.Lock()
defer s.mu.Unlock()
s.events = append(s.events, events...)
return nil
}
func (s *spyBackend) Close() error { return nil }