Documentation
¶
Overview ¶
Package testutil 提供各包测试共享的 mock:脚本式 Provider、 阻塞 Provider、echo 工具与响应构造器。 仅 module 内部可用,避免在每个测试文件里重复定义。
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type BlockingProvider ¶
type BlockingProvider struct{ Release chan struct{} }
BlockingProvider 阻塞直到 Release 关闭或 ctx 取消。
func NewBlocking ¶
func NewBlocking() *BlockingProvider
func (*BlockingProvider) Invoke ¶
func (p *BlockingProvider) Invoke(ctx context.Context, _ *types.ModelRequest) (*types.ModelResponse, error)
type EchoTool ¶
type EchoTool struct{}
EchoTool 回显参数的通用工具。
func (EchoTool) ArgsSchema ¶
func (EchoTool) ArgsSchema() json.RawMessage
func (EchoTool) Description ¶
type ScriptedProvider ¶
type ScriptedProvider struct {
Script []*types.ModelResponse
Calls int
}
ScriptedProvider 按脚本顺序返回响应,超出脚本返回空响应(loop 自然结束)。 同时实现 ModelProvider 与 StreamProvider,流式时逐字符发 chunk。
func Scripted ¶
func Scripted(resps ...*types.ModelResponse) *ScriptedProvider
func (*ScriptedProvider) Invoke ¶
func (p *ScriptedProvider) Invoke(_ context.Context, _ *types.ModelRequest) (*types.ModelResponse, error)
func (*ScriptedProvider) Stream ¶
func (p *ScriptedProvider) Stream(ctx context.Context, req *types.ModelRequest, onChunk provider.ModelChunkHandler) (*types.ModelResponse, error)
Click to show internal directories.
Click to hide internal directories.