feat(trace): add trace test helpers (#3108)
This commit is contained in:
@@ -8,6 +8,7 @@ import (
|
||||
"github.com/DATA-DOG/go-sqlmock"
|
||||
"github.com/stretchr/testify/assert"
|
||||
"github.com/zeromicro/go-zero/core/logx"
|
||||
"github.com/zeromicro/go-zero/core/trace/tracetest"
|
||||
)
|
||||
|
||||
const mockedDatasource = "sqlmock"
|
||||
@@ -17,6 +18,7 @@ func init() {
|
||||
}
|
||||
|
||||
func TestSqlConn(t *testing.T) {
|
||||
me := tracetest.NewInMemoryExporter(t)
|
||||
mock, err := buildConn()
|
||||
assert.Nil(t, err)
|
||||
mock.ExpectExec("any")
|
||||
@@ -49,6 +51,7 @@ func TestSqlConn(t *testing.T) {
|
||||
assert.NotNil(t, badConn.Transact(func(session Session) error {
|
||||
return nil
|
||||
}))
|
||||
assert.Equal(t, 14, len(me.GetSpans()))
|
||||
}
|
||||
|
||||
func buildConn() (mock sqlmock.Sqlmock, err error) {
|
||||
|
||||
20
core/trace/tracetest/tracetest.go
Normal file
20
core/trace/tracetest/tracetest.go
Normal file
@@ -0,0 +1,20 @@
|
||||
package tracetest
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"go.opentelemetry.io/otel"
|
||||
"go.opentelemetry.io/otel/sdk/trace"
|
||||
"go.opentelemetry.io/otel/sdk/trace/tracetest"
|
||||
)
|
||||
|
||||
// NewInMemoryExporter returns a new InMemoryExporter
|
||||
// and sets it as the global for tests.
|
||||
func NewInMemoryExporter(t *testing.T) *tracetest.InMemoryExporter {
|
||||
me := tracetest.NewInMemoryExporter()
|
||||
t.Cleanup(func() {
|
||||
me.Reset()
|
||||
})
|
||||
otel.SetTracerProvider(trace.NewTracerProvider(trace.WithSyncer(me)))
|
||||
return me
|
||||
}
|
||||
Reference in New Issue
Block a user