feat: 系统性改进后端测试体系
- 新增 6 个测试场景 (config load pipe, handler errors, service aggregation, engine degradation, openai decoder edges, negative tests) - 更新测试工具规格 (mockgen, in-memory SQLite) - 覆盖率目标从 >80% 提升至 >85% - 新增 test-unit 和 test-integration Makefile 命令 - 新增死代码清理和 mockgen 需求 - 归档变更至 openspec/changes/archive/2026-04-22-improve-backend-testing/
This commit is contained in:
85
backend/tests/mocks/mock_stats_service.go
Normal file
85
backend/tests/mocks/mock_stats_service.go
Normal file
@@ -0,0 +1,85 @@
|
||||
// Code generated by MockGen. DO NOT EDIT.
|
||||
// Source: stats_service.go
|
||||
//
|
||||
// Generated by this command:
|
||||
//
|
||||
// mockgen -source=stats_service.go -destination=../../tests/mocks/mock_stats_service.go -package=mocks
|
||||
//
|
||||
|
||||
// Package mocks is a generated GoMock package.
|
||||
package mocks
|
||||
|
||||
import (
|
||||
domain "nex/backend/internal/domain"
|
||||
reflect "reflect"
|
||||
time "time"
|
||||
|
||||
gomock "go.uber.org/mock/gomock"
|
||||
)
|
||||
|
||||
// MockStatsService is a mock of StatsService interface.
|
||||
type MockStatsService struct {
|
||||
ctrl *gomock.Controller
|
||||
recorder *MockStatsServiceMockRecorder
|
||||
isgomock struct{}
|
||||
}
|
||||
|
||||
// MockStatsServiceMockRecorder is the mock recorder for MockStatsService.
|
||||
type MockStatsServiceMockRecorder struct {
|
||||
mock *MockStatsService
|
||||
}
|
||||
|
||||
// NewMockStatsService creates a new mock instance.
|
||||
func NewMockStatsService(ctrl *gomock.Controller) *MockStatsService {
|
||||
mock := &MockStatsService{ctrl: ctrl}
|
||||
mock.recorder = &MockStatsServiceMockRecorder{mock}
|
||||
return mock
|
||||
}
|
||||
|
||||
// EXPECT returns an object that allows the caller to indicate expected use.
|
||||
func (m *MockStatsService) EXPECT() *MockStatsServiceMockRecorder {
|
||||
return m.recorder
|
||||
}
|
||||
|
||||
// Aggregate mocks base method.
|
||||
func (m *MockStatsService) Aggregate(stats []domain.UsageStats, groupBy string) []map[string]any {
|
||||
m.ctrl.T.Helper()
|
||||
ret := m.ctrl.Call(m, "Aggregate", stats, groupBy)
|
||||
ret0, _ := ret[0].([]map[string]any)
|
||||
return ret0
|
||||
}
|
||||
|
||||
// Aggregate indicates an expected call of Aggregate.
|
||||
func (mr *MockStatsServiceMockRecorder) Aggregate(stats, groupBy any) *gomock.Call {
|
||||
mr.mock.ctrl.T.Helper()
|
||||
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Aggregate", reflect.TypeOf((*MockStatsService)(nil).Aggregate), stats, groupBy)
|
||||
}
|
||||
|
||||
// Get mocks base method.
|
||||
func (m *MockStatsService) Get(providerID, modelName string, startDate, endDate *time.Time) ([]domain.UsageStats, error) {
|
||||
m.ctrl.T.Helper()
|
||||
ret := m.ctrl.Call(m, "Get", providerID, modelName, startDate, endDate)
|
||||
ret0, _ := ret[0].([]domain.UsageStats)
|
||||
ret1, _ := ret[1].(error)
|
||||
return ret0, ret1
|
||||
}
|
||||
|
||||
// Get indicates an expected call of Get.
|
||||
func (mr *MockStatsServiceMockRecorder) Get(providerID, modelName, startDate, endDate any) *gomock.Call {
|
||||
mr.mock.ctrl.T.Helper()
|
||||
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Get", reflect.TypeOf((*MockStatsService)(nil).Get), providerID, modelName, startDate, endDate)
|
||||
}
|
||||
|
||||
// Record mocks base method.
|
||||
func (m *MockStatsService) Record(providerID, modelName string) error {
|
||||
m.ctrl.T.Helper()
|
||||
ret := m.ctrl.Call(m, "Record", providerID, modelName)
|
||||
ret0, _ := ret[0].(error)
|
||||
return ret0
|
||||
}
|
||||
|
||||
// Record indicates an expected call of Record.
|
||||
func (mr *MockStatsServiceMockRecorder) Record(providerID, modelName any) *gomock.Call {
|
||||
mr.mock.ctrl.T.Helper()
|
||||
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Record", reflect.TypeOf((*MockStatsService)(nil).Record), providerID, modelName)
|
||||
}
|
||||
Reference in New Issue
Block a user